[lkml]   [2012]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: lockdep trace from posix timers
    On 08/20, Peter Zijlstra wrote:
    > On Mon, 2012-08-20 at 17:05 +0200, Oleg Nesterov wrote:
    > >
    > > Yes, we can add the explicit argument to __task_work_run(), but it can
    > > check PF_EXITING instead, this looks simpler to me.
    > I guess we could.. but I thought the explicit callback was simpler ;-)

    I won't insist. The patch I sent uses PF_EXITING and the fake
    "struct callback_head* TWORK_EXITED", but this looks almost the same.

    > > Note also your patch breaks fifo, but this is fixable.
    > Why do you care about the order?

    IMHO, this is just more natural.

    For example. keyctl_session_to_parent() does _cancel only to protect
    from exploits doing keyctl(KEYCTL_SESSION_TO_PARENT) in an endless
    loop. It could simply do task_work_add(), but in this case we need
    fifo for correctness.

    > Iterating a single linked queue in fifo
    > seems more expensive than useful.

    Currently the list is fifo (we add to the last element), this is O(1).

    But the list should be short, we can reverse it in _run() if we change
    task_work_add() to add to the head.


     \ /
      Last update: 2012-08-20 18:41    [W:0.022 / U:7.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site