lkml.org 
[lkml]   [2005]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectWhy yield in coredump_wait? [was: Re: Resent: BUG in RT 45-01 when RT program dumps core]
    From
    Date
    In the function coredump_wait there's a yield called:

    static void coredump_wait(struct mm_struct *mm)
    {
    [...]
    /* give other threads a chance to run: */
    yield();

    zap_threads(mm);
    [...]

    I don't see any reason for this. Although the comment says it's giving
    other threads a chance to run, but the zap_threads below it will just
    send a kill signal to all those sharing the mm and then this thread will
    wait for completion (if there were threads to wait on).

    Now if there were no other threads to wait on it would just continue.
    So, is there some real reason that this yield is there? Or is it just
    trying to be nice, as in saying, "I'm dieing now and just don't want to
    waste others time" (which I highly doubt is the case).

    The reason I'm asking this, is that RT tasks should not call yield,
    since it is pretty much meaningless, since an RT task won't yield to any
    task of lesser priority, and in Ingo's current kernel the yield will
    send a bug message if it was called by an RT task.

    Thanks,

    -- Steve



    -
    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-05-19 15:41    [W:0.023 / U:91.332 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site