lkml.org 
[lkml]   [2004]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: PROBLEM: Consistent lock up on >=2.6.8
        Andrew> Excellent point.  We don't appear to have a function which
    Andrew> does that.

    Excellent point right back at you... I didn't notice that the ip_vs
    work was rescheduling itself.

    Andrew> How does this look?

    +void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq,
    + struct work_struct *work)
    +{
    + while (!cancel_delayed_work(work))
    + flush_workqueue(wq);
    +}

    Seems like it should work as long as (as you note) the work _always_
    reschedules itself, and no one else ever tries to schedule the work.

    Maybe it's easier to say that users of rearming delayed work just have
    to have a "stop" flag somewhere? I have a feeling that an API for
    such a particular situation is just an invitation for foot-shooting.

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

    \
     
     \ /
      Last update: 2005-03-22 14:06    [W:4.217 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site