mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
cgroup/cpuset: update some comments about the page allocator
These comments describing the page allocator are out of date: - __alloc_pages() is no longer a public API and has no business being described outside of mm/. - The `wait` variable is gone. It may be out of date for other reasons too but this patch is just fixing the issues that stood out. To fix it: - Instead of referring to a specific function, instead to "the page allocator" - Completely drop out-of-date details of that function's internal behaviour, since they were irrelevant anyway. Link: https://lore.kernel.org/20260715-spin-trylock-followup-v3-2-fc4d246f705d@google.com Signed-off-by: Brendan Jackman <jackmanb@google.com> Suggested-by: Zi Yan <ziy@nvidia.com> Link: https://lore.kernel.org/all/DJP11T5V7BDW.2FZZZ8R6LOY4I@nvidia.com/ Reviewed-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Acked-by: Tejun Heo <tj@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Liam R. Howlett <liam@infradead.org> Cc: Lorenzo Stoakes <ljs@kernel.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Michal Koutný <mkoutny@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Waiman Long <longman@redhat.com> Cc: Brendan Jackman <brendan.jackman@linux.dev> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
21be908d39
commit
0cce423a12
|
|
@ -4198,7 +4198,7 @@ static struct cpuset *nearest_hardwall_ancestor(struct cpuset *cs)
|
|||
* nearest enclosing hardwalled ancestor cpuset.
|
||||
*
|
||||
* Scanning up parent cpusets requires callback_lock. The
|
||||
* __alloc_pages() routine only calls here with __GFP_HARDWALL bit
|
||||
* page allocator only calls here with __GFP_HARDWALL bit
|
||||
* _not_ set if it's a GFP_KERNEL allocation, and all nodes in the
|
||||
* current tasks mems_allowed came up empty on the first pass over
|
||||
* the zonelist. So only GFP_KERNEL allocations, if all nodes in the
|
||||
|
|
@ -4211,11 +4211,8 @@ static struct cpuset *nearest_hardwall_ancestor(struct cpuset *cs)
|
|||
* come before the __GFP_HARDWALL check, otherwise a dying task
|
||||
* would be blocked on the fast path.
|
||||
*
|
||||
* The second pass through get_page_from_freelist() doesn't even call
|
||||
* here for GFP_ATOMIC calls. For those calls, the __alloc_pages()
|
||||
* variable 'wait' is not set, and the bit ALLOC_CPUSET is not set
|
||||
* in alloc_flags. That logic and the checks below have the combined
|
||||
* affect that:
|
||||
* The second pass through get_page_from_freelist() doesn't even call here for
|
||||
* GFP_ATOMIC calls. That, and the checks below have the combined affect that:
|
||||
* in_interrupt - any node ok (current task context irrelevant)
|
||||
* GFP_ATOMIC - any node ok
|
||||
* tsk_is_oom_victim - any node ok
|
||||
|
|
@ -4332,8 +4329,8 @@ void cpuset_nodes_allowed(struct cgroup *cgroup, nodemask_t *mask)
|
|||
* should not be possible for the following code to return an
|
||||
* offline node. But if it did, that would be ok, as this routine
|
||||
* is not returning the node where the allocation must be, only
|
||||
* the node where the search should start. The zonelist passed to
|
||||
* __alloc_pages() will include all nodes. If the slab allocator
|
||||
* the node where the search should start. The zonelist used by
|
||||
* the allocator will include all nodes. If the slab allocator
|
||||
* is passed an offline node, it will fall back to the local node.
|
||||
* See kmem_cache_alloc_node().
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user