Skip site navigation (1)Skip section navigation (2)
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>