Messages in this thread |  | | | Date | Tue, 15 Mar 2005 10:28:06 +0100 | | From | Ingo Molnar <> | | Subject | Re: [patch] del_timer_sync scalability patch |
| |
* Christoph Lameter <christoph@lameter.com> wrote:
> The following patch removes the magic in the timer_list structure > (Andrew suggested that we may not need it anymore) and replaces it > with two u8 variables that give us some additional state of the timer
The 'remove the magic' observation is not a 'backdoor' to introduce new fields 'for free'. So please dont mix the two things into one patch.
> + u8 running; /* function is currently executing */ > + u8 shutdown; /* do not schedule this timer */
it may as well be cleaner to do the timer->base_running thing after all, and to do this in __run_timers():
timer->base = NULL; timer->base_running = base;
note that we cannot clear ->base_running in __run_timers() [we dont own any access to the timer anymore, it may be kfree()d, etc.], so del_timer_sync() has to make sure that the timer->base_running info is not stale - it is a hint only. But it looks doable, and it should solve the NUMA scalability problem.
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |