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.

Attachment: pgpn8KgCWAcbF.pgp
Description: PGP signature

Reply via email to