hc
2024-02-19 1c055e55a242a33e574e48be530e06770a210dcd
kernel/mm/mmzone.c
....@@ -9,6 +9,7 @@
99 #include <linux/stddef.h>
1010 #include <linux/mm.h>
1111 #include <linux/mmzone.h>
12
+#include <trace/hooks/mm.h>
1213
1314 struct pglist_data *first_online_pgdat(void)
1415 {
....@@ -73,20 +74,6 @@
7374 }
7475 EXPORT_SYMBOL_GPL(__next_zones_zonelist);
7576
76
-#ifdef CONFIG_ARCH_HAS_HOLES_MEMORYMODEL
77
-bool memmap_valid_within(unsigned long pfn,
78
- struct page *page, struct zone *zone)
79
-{
80
- if (page_to_pfn(page) != pfn)
81
- return false;
82
-
83
- if (page_zone(page) != zone)
84
- return false;
85
-
86
- return true;
87
-}
88
-#endif /* CONFIG_ARCH_HAS_HOLES_MEMORYMODEL */
89
-
9077 void lruvec_init(struct lruvec *lruvec)
9178 {
9279 enum lru_list lru;
....@@ -114,3 +101,20 @@
114101 return last_cpupid;
115102 }
116103 #endif
104
+
105
+enum zone_type gfp_zone(gfp_t flags)
106
+{
107
+ enum zone_type z;
108
+ gfp_t local_flags = flags;
109
+ int bit;
110
+
111
+ trace_android_rvh_set_gfp_zone_flags(&local_flags);
112
+
113
+ bit = (__force int) ((local_flags) & GFP_ZONEMASK);
114
+
115
+ z = (GFP_ZONE_TABLE >> (bit * GFP_ZONES_SHIFT)) &
116
+ ((1 << GFP_ZONES_SHIFT) - 1);
117
+ VM_BUG_ON((GFP_ZONE_BAD >> bit) & 1);
118
+ return z;
119
+}
120
+EXPORT_SYMBOL_GPL(gfp_zone);