Re: [PATCH] task_work: remove fifo ordering guarantee

From: Ingo Molnar
Date: Sat Aug 29 2015 - 05:22:29 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, Aug 28, 2015 at 7:42 PM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> >
> > We could add yet another cond_resched() in the reverse loop, or we can simply
> > remove the reversal, as I do not think anything would depend on order of
> > task_work_add() submitted works.
>
> So I think this should be ok, with things like file closing not really caring
> about ordering as far as I can tell.
>
> However, has anybody gone through all the task-work users? I looked quickly at
> the task_work_add() cases, and didn't see anything that looked like it would
> care, but others should look too. In the vfs, theres' the delayed fput and mnt
> freeing, and there's a keyring installation one.
>
> The threaded irq handlers use it as that exit-time hack, which certainly
> shouldn't care, and there's some uprobe thing.
>
> Can anybody see anything fishy?

So I'm wondering, is there any strong reason why we couldn't use a double linked
list and still do FIFO and remove that silly linear list walking hack?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/