Messages in this thread | | | Date | Mon, 30 Oct 2023 20:47:06 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [RFC PATCH v3 0/7] slub: Delay freezing of CPU partial slabs |
| |
On Tue, 31 Oct 2023, Chengming Zhou wrote:
> The current scheme (which this series implemented) is: > > - node partial slabs: PG_Workingset (set or clear with per-node list_lock protection) > - cpu partial slabs: !PG_Workingset
And then the frozen flag needs to be set. Otherwise slab_free() would conclude it is on a partial list?
> - cpu slabs: !PG_Workingset && frozen (set or clear using cmpxchg together with freelist)
> - full slabs: !PG_Workingset
And frozen is clear? Otherwise it is the same as a cpu partial slab.
> As Vlastimil noted, it's possible to drop "frozen" bit for cpu slabs, but > we keep it for performance, since we don't need to grab node list_lock to > check whether PG_Workingset is set or not if the "frozen" bit is set. > > Thanks! >
| |