On 11/25/2013 10:23 PM, 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. I'am afraid the signle-entry list is not so good as we expected. In my experience, there're too many entries on rmap, more than 300 sometimes. (consider a case that a lib shared by all processes). > > The simpler version is to maintain lockless walk on depth-1 rmap entries > (and grab the lock once depth-2 entry is found). I still think rmap-lockless is more graceful: soft mmu can get benefit from it also it is promising to be used in some mmu-notify functions. :) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html