[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-4.5 v2 0/8] xen: arm: map normal memory as inner shareable, reduce scope of various barriers
Currently Xen maps all RAM as Outer-Shareable, since that seemed like the most conservative option early on when we didn't really know what Inner- vs. Outer-Shareable meant. However we have long suspected that actually Inner-Shareable would be the correct type to use. After reading the docs many times, getting more confused each time, I finally got a reasonable explanation from a man (and a dog) down the pub: Inner-Shareable == the processors in an SMP system, while Outer-Shareable == devices. (NB: Not a random man, he knew what he was talking about...). With that in mind switch all of Xen's memory mapping, page table walks and an appropriate subset of the barriers to be inner shareable. In addition I have switched barriers to use the correct read/write/any variants for their types. Note that I have only tackled the generic mb/rmb/wmb and smp_* barriers (mainly used by common code) here. There are also quite a few open-coded full-system dsb's in the arch code which I will look at another time. v1 of this was back in June[0], and I deferred it due to the 4.3 freeze, so given that we are now frozen for 4.4 this is clearly 4.5 material. I've slightly forgotten what was changed since then, but apart from rebasing the highlights are: * dropped all the bogus tlb flush stuff, which was wrong, or at best confused. * mfn_to_p2m_entry sets shareability based on mattr, dev mappings remain outer * some clarifications to the comments. [0] http://lists.xen.org/archives/html/xen-devel/2013-06/msg02969.html _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |