On Tue, Dec 03, 2024 at 07:56:34PM +0000, Matthew Wilcox wrote:
> On Tue, Dec 03, 2024 at 08:02:26PM +0100, Uladzislau Rezki wrote:
> 
> I think there are a few other things we can try here.
> 
> First, if the copy is small (and I still don't have an answer to that
> ...), we can skip the vmalloc lookup if the copy doesn't cross a page
> boundary.
> 
> Second, we could try storing this in a maple tree rather than an rbtree.
> That gives us RCU protected lookups rather than under a spinlock.
> 
> It might even be worth going to a rwlock first, in case the problem is
> that there's severe lock contention.
> 
> But I've asked for data on spinlock contention and not received an
> answer on that either, so I don't know what to suggest.
> 
I think, it is not about contention. It is about the extra "attached
load" when a data is heavily copied force and back. On each copy path
you need to do a scan. Maple tree is not that something can help here :)

Indeed, no contention data. Zuoze, please share this if you can.

--
Uladzislau Rezki

Reply via email to