Re: [GIT PULL] iov_iter: Improve page extraction (pin or just list)
From: David Hildenbrand
Date: Tue Jan 31 2023 - 03:33:32 EST
On 30.01.23 23:15, Jens Axboe wrote:
On 1/30/23 3:12 PM, David Howells wrote:
John Hubbard <jhubbard@xxxxxxxxxx> wrote:
This is something that we say when adding pin_user_pages_fast(),
yes. I doubt that I can quickly find the email thread, but we
measured it and weren't immediately able to come up with a way
to make it faster.
percpu counters maybe - add them up at the point of viewing?
They are percpu, see my last email. But for every 108 changes (on
my system), they will do two atomic_long_adds(). So not very
useful for anything but low frequency modifications.
Can we just treat the whole acquired/released accounting as a debug
mechanism to detect missing releases and do it only for debug kernels?
The pcpu counter is an s8, so we have to flush on a regular basis and
cannot really defer it any longer ... but I'm curious if it would be of
any help to only have a single PINNED counter that goes into both
directions (inc/dec on pin/release), to reduce the flushing.
Of course, once we pin/release more than ~108 pages in one go or we
switch CPUs frequently it won't be that much of a help ...
--
Thanks,
David / dhildenb