Re: [PATCH 00/34] arch: barrier cleanup + __smp_xxx barriers for virt

Michael S. Tsirkin
2015-12-30T21:36:36Z

On Wed, Dec 30, 2015 at 03:46:46PM -0500, David Miller wrote:
> From: "Michael S. Tsirkin" <mst@redhat.com>
> Date: Wed, 30 Dec 2015 14:58:19 +0200
>
> > -. Patch 1 documents the __smp APIs, and explains why they are
> > useful for virt
>
> If virt is doing things like interacting with descriptors that are
> shared with a (potentially SMP) host, why don't we just annotate those
> specific cases?

Using a bunch of per-arch ifdefs in virtio?
That's fundamentally what we have now.

But basically the rework reduces the LOC count in kernel anyway
by moving all ifdef CONFIG_SMP hacks into asm-generic.
So why not let virt benefit?

Or do you mean wrappers for __smp_XXX that explicitly
say they are for talking to host?
E.g. pv_mb() pv_rmb() etc.
That sounds very reasonable to me.

__smp_XXX things then become an implementation detail.

> The other memory barriers in the kernel do not matter for SMP'ness
> when build UP.