lkml.org 
[lkml]   [2004]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: RCU callback and scheduling while atomic!
    On Tue, Aug 31, 2004 at 09:51:40PM +0530, Dipankar Sarma wrote:
    > On Tue, Aug 31, 2004 at 06:17:10PM +0200, Herbert Poetzl wrote:
    > >
    > > it seems that the RCU callback is not allowed
    > > to (re-)schedule, as it is done occasionally by
    > > put_namespace() for example, as I keep getting
    > > "bad: scheduling while atomic!", when I do so ...
    > >
    > > now the question: what is the 'correct' way to
    > > drop a reference to a namespace when freeing up
    > > a structure from an RCU callback?
    >
    > You are right about not allowing schedule from callbacks. The callbacks
    > are called from softirq context.
    >
    > Without your current code, it is difficult to say how to do this but here are
    > some guesses -
    >
    > 1. You could mark the freed up structure deleted on update, do
    > put_namspace() and do only the freeing in the rcu callback.
    > dentries do this.
    >
    > 2. If not performance critical, you could use a workqueue to
    > do the actual freeing including put_namespace(). Just wake up
    > from the rcu callback.

    ah, okay, I see, although it isn't time critical,
    it seems to me that the first is the best choice
    in my case, thanks for the hints ...

    > These may or may not be applicable to your case. More details will
    > help.

    thanks,
    Herbert

    > Thanks
    > Dipankar
    > -
    > 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/
    -
    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:05    [W:4.267 / U:0.552 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site