VM_BCACHE_SIZE_MAX on i386
Alan Cox
alan.l.cox at gmail.com
Sat Mar 23 23:45:10 UTC 2013
On Sat, Mar 23, 2013 at 5:10 PM, Konstantin Belousov <kostikbel at gmail.com>wrote:
> On Sat, Mar 23, 2013 at 04:49:06PM -0500, Alan Cox wrote:
> > The additional KVA that we had to reserve for the vm_page radix tree
> nodes
> > already got me thinking about VM_BCACHE_SIZE_MAX a couple weeks ago.
> With
> > the extra KVA pressure that is inherent to PAE, e.g., a larger vm_page
> > struct, we really can't afford to allow the buffer map KVA allocation to
> > grow much beyond what it would be for a 4GB machine anyway. Moreover,
> your
> > work makes the size of the buffer map less important, because it will see
> > decreasing use as drivers are converted to allow unmapped I/O. So, I
> would
> > encourage you to simply use the same cap based on a 4 GB machine for both
> > PAE and !PAE.
>
> I did not checked it, but isn't default PAE config splits user/kernel
> on the 2GB boundary ? This makes the KVA pressure on PAE less severe,
> but user mode should be not very happy.
>
>
No, the PAE split between user/kernel is the same as !PAE. The PAE config
is deceptive because it takes twice as many page table pages to get the
same 1 GB of KVA.
> Currently, the number of the regular buffer headers allocated is equal
> to the size of the buffer map / BKVASIZE still. This could be changed
> now, I believe that Peter' testing fixed most of the bugs in the
> handling of the maxbufspace. I was too coward to make this change
> together with the rest of the work. But it could indeed be useful, since
> buffer map is used only by the metadata buffers for UFS.
>
> I did changed VM_BCACHE_SIZE_MAX as you suggested, thanks.
>
> http://people.freebsd.org/~kib/misc/i386_maxbcache.2.patch
>
More information about the freebsd-arch
mailing list