On Fri, Jul 07, 2006 at 09:50:47AM +0100, Darren J Moffat wrote: > Eric Schrock wrote: > >On Thu, Jul 06, 2006 at 09:53:32PM +0530, Pramod Batni wrote: > >> offtopic query : > >> How can ZFS require more VM address space but not more VM ? > >> > > > >The real problem is VA fragmentation, not consumption. Over time, ZFS's > >heavy use of the VM system causes the address space to become > >fragmented. Eventually, we will need to grab a 128k block of contiguous > >VA, but can't find a contiguous region, despite having plenty of memory > >(physical or virtual). > > Interesting, I saw and helped debug a very similar sounding problem > with VxVM and VxFS on an E10k with 15TB of EMC storage and 10,000 NFS > shares years ago. This was on Solaris 2.6 so even though it was > UltraSPARC CPU there was still only a 32bit address space. > > Jeff Bonwick supplied the fixes for this, I don't remember the details > but it did help reduce the memory fragmentation. It does make me > wonder though if these fixes that were applicable to 32bit SPARC work > for 32bit x86.
The main difference here is that on UltraSPARC, kernel and user have separate VA spaces (due to the alternate ASIs on SPARC). This means that both user and kernel get the full 32-bit address space to themselves. On x86, kernel and user share the VA. If you look at kernbase, all addresses above that are kernel (typically 1GB), the rest is user. So the situation on x86 is much more dire than it ever was on SPARC, even before 64-bit. --Bill _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss