tmpfs use of wired_count
alan.l.cox at gmail.com
Thu Jul 1 18:34:12 UTC 2010
On Wed, Jun 30, 2010 at 11:33 AM, Jeseem S <jeseems at gmail.com> wrote:
> I am a newbie on freebsd kernel. Am currently trying to debug a scenario,
> where a custom driver I load uses a lot of static memory and hence lots of
> wired pages.
> The system still has a lot of free memory ( more than 200MB) and a free
> space ( > 500MB).
> Once I load the driver, the tmpfs loaded on /tmp shows a size of 0.
> in tmpfs/tmpfs.h, I see that the free memory available is reduced by number
> of wired pages ( see code below).
> Is this correct logic ? why do we need to reduce wired count from free
> pages available ?
No, it doesn't appear correct. Moreover, it's also incorrect that
cnt.v_cache_count isn't included in the initial calculation of size.
> * Returns information about the number of available memory pages,
> * including physical and virtual ones.
> * If 'total' is TRUE, the value returned is the total amount of memory
> * pages configured for the system (either in use or free).
> * If it is FALSE, the value returned is the amount of free memory pages.
> * Remember to remove TMPFS_PAGES_RESERVED from the returned value to avoid
> * excessive memory usage.
> static __inline size_t
> size_t size;
> size = swap_pager_avail + cnt.v_free_count + cnt.v_inactive_count;
> size -= size > cnt.v_wire_count ? cnt.v_wire_count : size;
> return size;
> freebsd-current at freebsd.org mailing list
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
More information about the freebsd-current