On Thu, Jan 18, 2024 at 9:03 AM Yosry Ahmed <yosryahmed@xxxxxxxxxx> wrote: > > On Thu, Jan 18, 2024 at 8:48 AM Johannes Weiner <hannes@xxxxxxxxxxx> wrote: > > > > On Thu, Jan 18, 2024 at 11:16:08AM -0500, Johannes Weiner wrote: > > > > > On Tue, Jan 16, 2024 at 5:32 AM Ronald Monthero > > > > > > @@ -1620,7 +1620,8 @@ static int zswap_setup(void) > > > > > > zswap_enabled = false; > > > > > > } > > > > > > > > > > > > - shrink_wq = create_workqueue("zswap-shrink"); > > > > > > + shrink_wq = alloc_workqueue("zswap-shrink", > > > > > > + WQ_UNBOUND|WQ_MEM_RECLAIM, 1); > > > > > What could make a difference though is the increased concurrency by > > > switching max_active from 1 to 0. This could cause a higher rate of > > > shrinker runs, which might increase lock contention and reclaim > > > volume. That part would be good to double check with the shrinker > > > benchmarks. > > > > Nevermind, I clearly can't read. > > Regardless of max_active, we only have one shrink_work per zswap pool, > and we can only have one instance of the work running at any time, > right? I believe so, yeah. Well I guess you can have a weird setup where somehow multiple pools are full and submit shrink_work concurrently? But who does that :) But let's just keep it as is to reduce our mental workload (i.e not having to keep track of what changes) would be ideal. > > > > > Could still be worthwhile testing with the default 0, but it's not a > > concern in the patch as-is. > > > > Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> > >