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

From: Gleb Natapov
Date: Mon Nov 25 2013 - 09:30:02 EST


On Mon, Nov 25, 2013 at 12:23:51PM -0200, Marcelo Tosatti wrote:
> 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@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Nov 23, 2013, at 3:14 AM, Marcelo Tosatti <mtosatti@xxxxxxxxxx> 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 code will become simpler but the problem of never ending walk of
rculist_nulls will remain.

> The simpler version is to maintain lockless walk on depth-1 rmap entries
> (and grab the lock once depth-2 entry is found).
And release it between each rmap walk or at the very end of write
protect?

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/