[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070111110902.GA3561@ff.dom.local>
Date: Thu, 11 Jan 2007 12:09:02 +0100
From: Jarek Poplawski <jarkao2@...pl>
To: David Miller <davem@...emloft.net>
Cc: shemminger@...l.org, greearb@...delatech.com,
herbert@...dor.apana.org.au, dlstevens@...ibm.com,
netdev@...r.kernel.org
Subject: Re: BUG: soft lockup detected on CPU#0! (2.6.18.2 plus hacks)
On Thu, Jan 11, 2007 at 01:27:55AM -0800, David Miller wrote:
> From: Jarek Poplawski <jarkao2@...pl>
> Date: Thu, 11 Jan 2007 09:39:34 +0100
>
> > Sure, but is this even legal to be preempted during
> > reading or modifying rcu list or be blocked while
> > holding rcu protected pointer? Doesn't this disturb
> > rcu cycle and make possible memory release problems?
>
> It's fine in this case.
>
> Since the list cannot be changed by anyone else, and the hash linked
> list (as seen by readers) is modified atomically by a single store, it
> all works out.
>
> Readers only look at foo->next in the hash traversal. Since the
> preceeding element cannot change outside of the current writer,
> the ->next pointer to update is protected.
>
> Readers therefore will either see the hash list with the entry or
> without.
>
> We then use call_rcu() to make sure any reading threads that happened
> to get a glimpse of the hash entry before the hlist_del_rcu()
> completed will go away and drop their references before we free that
> entry.
>
> I really don't see any problem here. :-)
Probably because you care more about internals and less
about docs examples. It seems I'm too much about regulations.
OK, I take your word and will try to stop annoy this list
with imagined RCU bugs, sorry.
Thanks for your precious (sleeping?) time
and explanations. Best regards,
Jarek P.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists