Thread (10 messages) 10 messages, 4 authors, 2021-09-24

Re: [PATCH v3] mm/page_alloc: detect allocation forbidden by cpuset and bail out early

From: Michal Hocko <hidden>
Date: 2021-09-14 08:18:11
Also in: linux-mm, lkml

On Tue 14-09-21 10:01:26, Vlastimil Babka wrote:
On 9/14/21 05:40, Feng Tang wrote:
[...]
quoted
+/* Whether the 'nodes' are all movable nodes */
+static inline bool movable_only_nodes(nodemask_t *nodes)
+{
+	struct zonelist *zonelist;
+	struct zoneref *z;
+
+	if (nodes_empty(*nodes))
+		return false;
+
+	zonelist =
+	    &NODE_DATA(first_node(*nodes))->node_zonelists[ZONELIST_FALLBACK];
+	z = first_zones_zonelist(zonelist, ZONE_NORMAL,	nodes);
+	return (!z->zone) ? true : false;
+}
Hmm, could all that become just this?

!nodes_intersects(&node_states[N_NORMAL_MEMORY], nodes)
Maybe yes but I find the zonelist approach much easier to follow even
though the code looks more complex at first sight. It talks about an
empty zone list for ZONE_NORMAL request which is quite clear from the
scribble. I always have to re-learn how the N*MEMORY works TBH. Maybe
this is just me though.
-- 
Michal Hocko
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help