On Fri, Jun 21, 2024 at 10:46:21AM +0800, Yafang Shao wrote: > > This is only looking at fleet data for global static locks, not locks like > > zone->lock that get dynamically allocated. > > We have encountered latency spikes caused by the zone->lock. Do we > have any plans to eliminate this lock, such as implementing a lockless > buddy list? I believe this could be a viable solution. Lockless how? I see three operations being performed on the buddy list: - Add to end (freeing) - Remove from end (allocation) - Remove from middle (buddy was freed, needs to be coalesced) I don't see how we can handle this locklessly. I think a more productive solution to contention on the LRU lock is to increase the number of zones. I don't think it's helpful to have a 1TB zone of memory. Maybe we should limit each zone to 16GB or so. That means we'd need to increase the number of zones we support, but I think that's doable.