Re: [patch 2/2] hrtimer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tue, 28 Mar 2006, Oleg Nesterov wrote:

> I also think this is racy.
> 
> CPU_0					CPU_1
> 
> hrtimer_wakeup:
> 
> 	task = t->task;
> 	t->task = NULL;
> 
> 	<--- INTERRUPT --->
> 
> 					task is woken by signal,
> 					do_nanosleep() sees t->task == NULL,
> 					returns without hrtimer_cancel(),
> 					and __exits__.
> 
> 	<--- RESUME --->
> 
> 	wake_up_process(task);
> 
> Instead of exit(), 'task' can go to TASK_STOPPED or TASK_UNINTERRUPTIBLE
> after return from do_nanosleep(), it will be awakened by hrtimer_wakeup()
> unexpectedly.

Indeed and my original patch did call hrtimer_cancel() unconditionally to 
synchronize with a possibly running timer.
Thomas, could you please document it a bit better, when you modify my 
patches?

bye, Roman
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux