Re: [patch] timers: add mod_timer_pending()
From: Oleg Nesterov <oleg@redhat.com>
Date: 2009-02-18 18:58:50
Also in:
netfilter-devel
From: Oleg Nesterov <oleg@redhat.com>
Date: 2009-02-18 18:58:50
Also in:
netfilter-devel
On 02/18, Ingo Molnar wrote:
* Oleg Nesterov [off-list ref] wrote:quoted
Unlike __mod_timer(..., bool pending_only), it preserves the CPU on which the timer is pending. Or, perhaps, we can modify __mod_timer() further,if then i'd put it into a separate commit. I think the auto-migration of all the mod_timer() variants is a scalability feature: if for example a networking socket's main user migrates to another CPU, then the timer 'follows' it - even if the timer never actually expires (which is quite common for high-speed high-reliability networking transports).
OK. But sometimes it is better (or necessary) to prevent the migration. Since you already are changed __mod_timer() it would be ugly to add yet another helper. Perhaps we should turn "bool pending_only" into "int flags" right now? This is minor, and perhaps we will never need the TIMER_DONT_MIGRATE flag. But if ever need, then we have to audit all callers. Oleg.