On Tue, Nov 30, 2021, Maciej S. Szmigiero wrote: > From: "Maciej S. Szmigiero" <maciej.szmigiero@xxxxxxxxxx> > > This series contains the sixth iteration of the scalable memslots patch set. > It is based on Sean's version "5.5", but with integrated patches for issues > that arose during its review round. > > In addition to that, the kvm_for_each_memslot_in_gfn_range() implementation > was reworked to return only strictly overlapping memslots and to use > iterators. > > However, I've dropped a similar kvm_for_each_memslot_in_hva_range() rework > since the existing implementation was already returning only strictly > overlapping memslots and it was already based on interval tree iterators, > so wrapping them in another layer of iterators would only add unnecessary > complexity. > The code in this "for"-like macro is also self-contained and very simple, > so let's keep it this way. If kvm_for_each_memslot_in_hva_range() ever gains a user outside of kvm_main.c it should definitely get an iterator container so that callers don't need to do the container_of() stuff. I'd still prefer a container even now, but it's not a sticking point.