Cleanup and untangling of kernel VM initialization
Konstantin Belousov
kostikbel at gmail.com
Fri Mar 8 18:57:52 UTC 2013
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20130308/5ea180b5/attachment.sig>
More information about the freebsd-current
mailing list