Re: [PATCH v3 07/15] KVM: MMU: introduce nulls desc

Marcelo Tosatti
2013-11-25T14:24:46Z

On Mon, Nov 25, 2013 at 02:48:37PM +0200, Avi Kivity wrote:
> On Mon, Nov 25, 2013 at 8:11 AM, Xiao Guangrong
> <xiaoguangrong@linux.vnet.ibm.com> wrote:
> >
> > On Nov 23, 2013, at 3:14 AM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
>
> <snip complicated stuff about parent_pte>
>
> I'm not really following, but note that parent_pte predates EPT (and
> the use of rcu in kvm), so all the complexity that is the result of
> trying to pack as many list entries into a cache line can be dropped.
> Most setups now would have exactly one list entry, which is handled
> specially antyway.
>
> Alternatively, the trick of storing multiple entries in one list entry
> can be moved to generic code, it may be useful to others.

Yes, can the lockless list walking code be transformed into generic
single-linked list walking? So the correctness can be verified
independently, and KVM becomes a simple user of that interface.

The simpler version is to maintain lockless walk on depth-1 rmap entries
(and grab the lock once depth-2 entry is found).