Re: Cleanup and untangling of kernel VM initialization

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Fri, 8 Mar 2013 20:57:45 +0200
On Fri, Mar 08, 2013 at 01:58:38PM +0100, Andre Oppermann wrote:
> On 08.03.2013 10:16, Konstantin Belousov wrote:
> > On Thu, Mar 07, 2013 at 06:03:51PM +0100, Andre Oppermann wrote:
> >>    pager_map: is used for pager IO to a storage media (disk). Not
> >>    pageable. Calculation: MAXPHYS * min(max(nbuf/4, 16), 256).
>  >
> > It is more versatile. The space is used for pbufs, and pbufs currently
> > also serve for physio, for the clustering, for aio needs.
> 
> Good to know.  Isn't the ceiling of MAXPHYS * 256 a bit tight then?
I doubt it. The ceiling on the amount of pbufs only limit the
concurrency from the subsystems I enumerated. The pbuf allocations are
sleepable (usually), so there is no correctness problem from having
it sizes slightly lower then could be, and 256 parallel i/o's is good
enough still.

It might make sense to increase the pbuf KVA for arches with ample KVA,
but it would only benefit special workloads which create lot of the
concurrent i/o from the specific subsystems.

E.g., the clustering cannot create more then 16MB of clusters for write,
and with the default MAXPHYS of 128KB, this takes 64 pbufs.

Received on Fri Mar 08 2013 - 17:57:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:35 UTC