[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87lfx39oim.fsf@firstfloor.org>
Date: Fri, 12 Jul 2019 10:00:17 -0700
From: Andi Kleen <andi@...stfloor.org>
To: Sultan Alsawaf <sultan@...neltoast.com>
Cc: unlisted-recipients:; (no To-header on input)
Jason Gunthorpe <jgg@...pe.ca>, Ming Lei <ming.lei@...hat.com>,
Palmer Dabbelt <palmer@...ive.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Gal Pressman <galpress@...zon.com>,
Allison Randal <allison@...utok.net>,
Christophe Leroy <christophe.leroy@....fr>,
Thomas Gleixner <tglx@...utronix.de>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scatterlist: Allocate a contiguous array instead of chaining
Sultan Alsawaf <sultan@...neltoast.com> writes:
>
> Abusing repeated kmallocs to produce a large allocation puts strain on
> the slab allocator, when kvmalloc can be used instead. The single
> kvmalloc allocation for all sg lists reduces the burden on the slab and
> page allocators, since for large sg list allocations, this commit
> replaces numerous kmalloc calls with one kvmalloc call.
Note that vmalloc will eventually cause global TLB flushes, which
are very expensive on larger systems. THere are also global locks
in vmalloc, which can also cause scaling problems. slab is a lot
more optimized.
I don't see any performance numbers in your proposal.
Did you test these corner cases?
I suspect you're better of with larger kmallocs up to a reasonable
size. How big would a sg list need to be to need more than a couple
pages?
-Andi
Powered by blists - more mailing lists