[lkml]   [2011]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] dmatest: don't use set_freezable_with_signal()
    On Mon, Nov 21, 2011 at 10:43:16AM -0800, Tejun Heo wrote:
    > Commit 981ed70d8e (dmatest: make dmatest threads freezable) made
    > dmatest kthread use set_freezable_with_signal(); however, the
    > interface is scheduled to be removed in the next merge window.
    > The problem is that unlike userland tasks there's no default place
    > which handles signal pending state and it isn't clear who owns and/or
    > is responsible for clearing TIF_SIGPENDING. For example, in the
    > current code, try_to_freeze() clears TIF_SIGPENDING but it isn't sure
    > whether it actually owns the TIF_SIGPENDING nor is it race-free -
    > ie. the task may continue to run with TIF_SIGPENDING set after the
    > freezable section.
    > Unfortunately, we don't have wait_for_completion_freezable_timeout().
    > This patch open codes it and uses wait_event_freezable_timeout()
    > instead and removes timeout reloading - wait_event_freezable_timeout()
    > won't return across freezing events (currently racy but fix scheduled)
    > and timer doesn't decrement while the task is in freezer. Although
    > this does lose timer-reset-over-freezing, given that timeout is
    > supposed to be long enough and failure to finish inside is considered
    > irrecoverable, I don't think this is worth the complexity.
    > While at it, move completion to outer scope and explain that we're
    > ignoring dangling pointer problem after timeout. This should give
    > slightly better chance at avoiding oops after timeout.
    > Signed-off-by: Tejun Heo <>
    > Cc: Guennadi Liakhovetski <>
    > Cc: Dan Williams <>
    > Cc: Nicolas Ferre <>
    > ---
    > Guennadi, Dan, how does this look? If it's okay, do you guys mind
    > routing this through pm tree? I have some patches stacked on top
    > removal of freezable_with_signal and it would be much easier to route
    > these together.

    Ooh, forgot to mention that it's only compile tested.



     \ /
      Last update: 2011-11-21 19:53    [W:0.021 / U:1.440 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site