-
Chengming Zhou authored
The current updated scheme (which this series implemented) is: - node partial slabs: PG_Workingset && !frozen - cpu partial slabs: !PG_Workingset && !frozen - cpu slabs: !PG_Workingset && frozen - full slabs: !PG_Workingset && !frozen The most important change is that "frozen" bit is not set for the cpu partial slabs anymore, __slab_free() will grab node list_lock then check by !PG_Workingset that it's not on a node partial list. And the "frozen" bit is still kept for the cpu slabs for performance, since we don't need to grab node list_lock to check whether the PG_Workingset is set or not if the "frozen" bit is set in __slab_free(). Update related documentations and comments in the source. Signed-off-by:
Chengming Zhou <zhouchengming@bytedance.com> Tested-by:
Hyeonggon Yoo <42.hyeyoo@gmail.com> Reviewed-by:
Hyeonggon Yoo <42.hyeyoo@gmail.com> Acked-by:
Christoph Lameter (Ampere) <cl@linux.com> Signed-off-by:
Vlastimil Babka <vbabka@suse.cz>
31bda717