summaryrefslogtreecommitdiffstats
path: root/spl_config.h.in
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2009-07-28 15:06:42 -0700
committerBrian Behlendorf <[email protected]>2009-07-28 15:06:42 -0700
commit6ae7fef5b94275e50cc1dcd48c4ecf3b70d7f9d9 (patch)
tree6bee188c48e16981416bab356d02bc02817edae0 /spl_config.h.in
parent6b09f739398a644384bfbab87792e4681707aef1 (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.in25
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