Messages in this thread | | | Date | Fri, 20 May 2022 09:44:25 -0600 | Subject | Re: [PATCH v4 0/3] random: convert to using iters, for Al Viro | From | Jens Axboe <> |
| |
On 5/20/22 9:39 AM, Jason A. Donenfeld wrote: > Hi Jens, > > On Fri, May 20, 2022 at 09:34:46AM -0600, Jens Axboe wrote: >> On 5/20/22 9:25 AM, Jason A. Donenfeld wrote: >>> Hi Jens, >>> >>> On Fri, May 20, 2022 at 11:44:56AM +0200, Jason A. Donenfeld wrote: >>>> Jens Axboe (3): >>>> random: convert to using fops->read_iter() >>>> random: convert to using fops->write_iter() >>>> random: wire up fops->splice_{read,write}_iter() >>> >>> FYI, this series makes reads from /dev/urandom slower, from around 616 >>> MiB/s to 598 MiB/s on my system. That seems rather unfortunate. >> >> How reproducible is that? That seems like a huge difference for the >> change. How big are the reads? > > Fairly reproducible. Actually, if anything, it reproduces consistently > with worst results; I chose the most favorable ones for the new code. > This isn't any fancy `perf` profiling, but just running: > > $ pv /dev/urandom > /dev/null > > From looking at strace, the read size appears to be 131072.
Ran 32, 1k, 4k here and it does seem to be down aboout 3%. Which is definitely bigger than I expected, particularly for larger reads. If anything, the 32b read seems comparably better than eg 1k or 4k, which is also unexpected. Let me do a bit of profiling to see what is up.
If you're worried about it, I'd just keep the read/write and add the iter variants on the side.
-- Jens Axboe
| |