lkml.org 
[lkml]   [2012]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: linux-next ppc64: RCU mods cause __might_sleep BUGs
    From
    On Wed, May 2, 2012 at 2:54 PM, Paul E. McKenney
    <paulmck@linux.vnet.ibm.com> wrote:
    > On Thu, May 03, 2012 at 07:20:15AM +1000, Benjamin Herrenschmidt wrote:
    >> On Wed, 2012-05-02 at 13:25 -0700, Hugh Dickins wrote:
    >> > Got it at last.  Embarrassingly obvious.  __rcu_read_lock() and
    >> > __rcu_read_unlock() are not safe to be using __this_cpu operations,
    >> > the cpu may change in between the rmw's read and write: they should
    >> > be using this_cpu operations (or, I put preempt_disable/enable in the
    >> > __rcu_read_unlock below).  __this_cpus there work out fine on x86,
    >> > which was given good instructions to use; but not so well on PowerPC.
    >> >
    >> > I've been running successfully for an hour now with the patch below;
    >> > but I expect you'll want to consider the tradeoffs, and may choose a
    >> > different solution.
    >>
    >> Didn't Linus recently rant about these __this_cpu vs this_cpu nonsense ?
    >>
    >> I thought that was going out..
    >
    > Linus did rant about __raw_get_cpu_var() because it cannot use the x86
    > %fs segement overrides a bit more than a month ago.  The __this_cpu
    > stuff is useful if you have preemption disabled -- avoids the extra
    > layer of preempt_disable().
    >
    > Or was this a different rant?

    https://lkml.org/lkml/2011/11/29/321

    I think it ended up with Christoph removing the more egregious
    variants, but this_cpu_that and __this_cpu_the_other remaining.

    Hugh
    --
    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: 2012-05-03 01:21    [W:0.023 / U:0.228 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site