Date: Wed, 11 Aug 2004 17:43:22 +0200 From: Andre Oppermann <andre@freebsd.org> To: Bosko Milekic <bmilekic@FreeBSD.org> Cc: freebsd-current@freebsd.org Subject: Re: UMA questions Message-ID: <411A3E9A.6000301@freebsd.org> In-Reply-To: <20040811152950.GA17794@freefall.freebsd.org> References: <20040811152950.GA17794@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bosko Milekic wrote: >>1. UMA zones do not show up in the output of 'vmstat -m'. Is there a way >> to get information on how much memory each UMA zone is using? >> Example: "sackhole", "tcptw", ... > > > vmstat -z, or sysctl vm.zone. Be careful when interpreting the stats > in the Mbuf, Mbuf Cluster, and Packet zones, because they are special. > See www.unixdaemons.com/~bmilekic/netbuf_bmilekic.pdf if you want to > know why, exactly. Great, thanks for the pointer. >>2. What does the flag UMA_ZONE_ZINIT do exactly? > > > It initializes zone-allocated objects to zero. This happens as objects > are first allocated (i.e., slabs are allocated) and before placement > into the slab cache. Unfortunately, I am not sure this works very well > unless you also make sure to zero them as they are returned (dtor), > which is a shitty model. Ok, so it is better to use uma_zalloc(zone, M_ZERO)? >>3. What does the flag UMA_ZONE_NOFREE prevent exactly? Will it prevent any >> zone/slab of this type to be free'd ever again? This way the zone can >> only grow and not shrink after transient peaks? > > Yes. It prevents freeing/draining of the slab cache. Usually not what one wants. Most of the time we want to give free slabs back if under memory pressure. >4. What does the flag UMA_ZONE_STATIC do exactly? I was under the impression >> that zones are fixed sized by definition and don't need this to be >> specified additionally. > > It does nothing. Many thanks for your quick answers. Would you mind documenting this in the uma_* manpages? Or someone from doc team? -- Andre
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?411A3E9A.6000301>