Re: [PATCH v2 1/1] doc: Add remote CPU access details and others to this_cpu_ops.txt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 17 Jul 2014, Pranith Kumar wrote:

> > The RCU code has .... ummmm... some issues with percpu usage and should
> > not be taken as a good example. If you look at the RCU code it looks
> > horrible with numerous barriers around remote percpu read/wrirte
> > accesses and one wonders if that code is actually ok.
>
> Well, it is running in all our kernels with not many reported issues, isn't it ;)
> And yes, that is one of the extra-ordinary situations where we use per-cpu data.
> Once you've extracted a pointer to the per-cpu area -and- ensure that concurrent
> accesses do not happen(or happen with enough guarantees using barriers), what is
> the case against remote accesses? I am asking from a correctness and a
> performance point of view, not style/aesthetics.

Could be working but I do not want it to be mentioned in the
documentation given the problems it causes. IPI is preferable.

> >> If data needs to be modified from multiple cpus only very rarely, doesn't it
> >> make sense to use per-cpu areas?
> >
> > I would suggest that this should not occur. You can always "modify" remote
> > percpu areas by generating an IPI on that cpu to make that processor
> > update its own per cpu data.
> >
>
> The case against doing that is not to wake up CPUs which are in idle/sleep
> states. I think mentioning it here that remote accesses are strongly discouraged
> with a reasonable explanation of the implications should be enough. There might
> always be rare situations where remote accesses might be necessary.

Remote percpu updates are extremely rare events. If the cpu is idle/asleep
then usually no updates are needed because no activity is occurring on
that cpu.
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux