Currently preempt_count() is always a non-negative int on all archs (PREEMPT_NEED_RESCHED archs will mask out the MSB when returning preempt_count()), hence the checking in __cant_migrate() is in fact just checking whether preempt_count() is 0 or not. In a future change, we are going to use all the 32 bits of preempt_count(), which would make negative int values possible from preempt_count(). Therefore convert the "> 0" comparison into a zero check to prepare for the future change. No functional changes are intended.
Unified · Split
| @@ -9241,7 +9241,7 @@ void __cant_migrate(const char *file, int line) · 9240 unmodified lines | |||
| 9241 | if (!IS_ENABLED(CONFIG_PREEMPT_COUNT)) | 9241 | if (!IS_ENABLED(CONFIG_PREEMPT_COUNT)) |
| 9242 | return; | 9242 | return; |
| 9243 | 9243 | ||
| 9244 | if (preempt_count() > 0) | 9244 | if (preempt_count()) |
| 9245 | return; | 9245 | return; |
| 9246 | 9246 | ||
| 9247 | if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy) | 9247 | if (time_before(jiffies, prev_jiffy + HZ) && prev_jiffy) |