Re: [patch 04/44] posix-cpu-timers: Fixup stale comment
From: Frederic Weisbecker
Date: Wed Aug 21 2019 - 11:51:30 EST
On Wed, Aug 21, 2019 at 03:31:39PM +0200, Thomas Gleixner wrote:
> On Wed, 21 Aug 2019, Frederic Weisbecker wrote:
> > So I propose to change the behaviour of case 1) so that $TARGET doesn't call
> > posix_cpu_timers_exit(). We instead wait for $OWNER to exit and call
> > exit_itimers() -> timer_delete_hook($ITIMER) -> posix_cpu_timer_del($ITIMER).
> > It is going to find $TARGET as the target of $ITIMER but no more sighand. Then
> > finally it removes $ITIMER from $TARGET->cputime_expires.
> > We basically do the same thing as in 2) but without locking sighand since it's NULL
> > on $TARGET at this time.
> But what do we win with that? Horrors like this:
> task A task B task C
> arm_timer(A) arm_timer(A)
> del_timer(A) del_timer(A)
> no sighand no_sighand
> list_del() list_del()
> Guess how well concurrent list deletion works.
> We must remove armed timers from the task/signal _before_ dropping sighand,
Ah right, there can be concurrent owners, nevermind.