diff options
author | Brian Behlendorf <[email protected]> | 2009-07-28 15:06:42 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2009-07-28 15:06:42 -0700 |
commit | 6ae7fef5b94275e50cc1dcd48c4ecf3b70d7f9d9 (patch) | |
tree | 6bee188c48e16981416bab356d02bc02817edae0 /spl_config.h.in | |
parent | 6b09f739398a644384bfbab87792e4681707aef1 (diff) |
Update global_page_state() support for 2.6.29 kernels.
Basically everything we need to monitor the global memory state of
the system is now cleanly available via global_page_state(). The
problem is that this interface is still fairly recent, and there
has been one change in the page state enum which we need to handle.
These changes basically boil down to the following:
- If global_page_state() is available we should use it. Several
autoconf checks have been added to detect the correct enum names.
- If global_page_state() is not available check to see if
get_zone_counts() symbol is available and use that.
- If the get_zone_counts() symbol is not exported we have no choice
be to dynamically aquire it at load time. This is an absolute
last resort for old kernel which we don't want to patch to
cleanly export the symbol.
Diffstat (limited to 'spl_config.h.in')
-rw-r--r-- | spl_config.h.in | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/spl_config.h.in b/spl_config.h.in index 582a47603..c4097d80f 100644 --- a/spl_config.h.in +++ b/spl_config.h.in @@ -159,8 +159,29 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* free/inactive/active page state is available */ -#undef HAVE_ZONE_STAT_ITEM_FIA +/* Page state NR_ACTIVE is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_ACTIVE + +/* Page state NR_ACTIVE_ANON is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_ACTIVE_ANON + +/* Page state NR_ACTIVE_FILE is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_ACTIVE_FILE + +/* Page state NR_FREE_PAGES is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_FREE_PAGES + +/* Page state NR_INACTIVE is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_INACTIVE + +/* Page state NR_INACTIVE_ANON is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_INACTIVE_ANON + +/* Page state NR_INACTIVE_FILE is available */ +#undef HAVE_ZONE_STAT_ITEM_NR_INACTIVE_FILE + +/* get_zone_counts() is needed */ +#undef NEED_GET_ZONE_COUNTS /* Name of package */ #undef PACKAGE |