lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1407170953070.28248@gentwo.org>
Date:	Thu, 17 Jul 2014 09:55:29 -0500 (CDT)
From:	Christoph Lameter <cl@...two.org>
To:	Pranith Kumar <bobby.prani@...il.com>
cc:	rdunlap@...radead.org, linux-doc@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/1] doc: Add remote CPU access details and others to
 this_cpu_ops.txt

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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ