On Wed, 2019-11-06 at 15:09 +0100, David Hildenbrand wrote: > > Am 06.11.2019 um 13:16 schrieb Michal Hocko <mhocko@xxxxxxxxxx>: > > > > I didn't have time to read through newer versions of this patch series > > but I remember there were concerns about this functionality being pulled > > into the page allocator previously both by me and Mel [1][2]. Have those been > > addressed? I do not see an ack from Mel or any other MM people. Is there > > really a consensus that we want something like that living in the > > allocator? > > I don‘t think there is. The discussion is still ongoing (although quiet, > Nitesh is working on a new version AFAIK). I think we should not rush > this. How much time is needed to get a review? I waited 2 weeks since posting v12 and the only comments I got on the code were from Andrew. Most of this hasn't changed much since v10 and that was posted back in mid September. I have been down to making small tweaks here and there and haven't had any real critiques on the approach since Mel had the comments about conflicts with compaction which I addressed by allowing compaction to punt the reporter out so that it could split and splice the lists as it walked through them. The fact is we have been discussing this since 2011. I think it makes sense at this point to push a solution if we can do so without impacting performance negatively. It isn't as though this exposes a userspace interface so we could always go back and change the internal implementation if Nitesh comes up with something that works out better than this. The only piece that will be locked down is the virtio interface and both Nitesh's solution and mine are using the same one at this point. > > There has also been a different approach discussed and from [3] > > (referenced by the cover letter) I can only see > > > > : Then Nitesh's solution had changed to the bitmap approach[7]. However it > > : has been pointed out that this solution doesn't deal with sparse memory, > > : hotplug, and various other issues. > > > > which looks more like something to be done than a fundamental > > roadblocks. > > I second that. As I stated a couple of times already, it is totally fine > to not support all environments initially (hotunplug, sparse zones). The > major difference I am interested in is performance comparison. Then we > have to decide if the gain in performance is worth core buddy > modifications. I only modified three spots in the buddy allocator really. I forced pages added to the tail of the list to be placed before the iterator, I added logic so that if the page pointed to by the iterator is pulled from the list we can wind the pointer back, and I added a function that triggers the page reporting to __free_one_page. If nothing else we could consider my solution the baseline for now. If Nitesh comes up with something better we could then look at replacing my code with his. Since he is now using the same virtio-balloon interface I am there isn't really much point in holding things up since we could always refactor/replace the implementation later if Nitesh comes up with a better approach.