On (22/10/25 13:30), Sergey Senozhatsky wrote: > On (22/10/25 01:12), Sergey Senozhatsky wrote: > > Sergey Senozhatsky (6): > > zsmalloc: turn zspage order into runtime variable > > zsmalloc/zram: pass zspage order to zs_create_pool() > > zram: add pool_page_order device attribute > > Documentation: document zram pool_page_order attribute > > zsmalloc: break out of loop when found perfect zspage order > > zsmalloc: make sure we select best zspage size > > Andrew, I want to replace the last 2 patches in the series: I think > we can drop `usedpc` calculations and instead optimize only for `waste` > value. Would you prefer me to resend the entire instead? Andrew, let's do it another way - let's drop the last patch from the series. But only the last one. The past was a last minute addition to the series and I have not fully studied it's impact yet. From a preliminary research I can say that it improves zsmalloc memory usage only for order 4 zspages and has no statistically significant impact on order 2 nor order 3 zspages. Synthetic test, base get_pages_per_zspage() vs 'waste' optimized get_pages_per_zspage() for order 4 zspages: x zram-order-4-memused-base + zram-order-4-memused-patched +----------------------------------------------------------------------------+ |+ + + + x xx x| | |___________A_______M____| |____M_A______| | +----------------------------------------------------------------------------+ N Min Max Median Avg Stddev x 4 6.3960678e+08 6.3974605e+08 6.3962726e+08 6.3965082e+08 64101.637 + 4 6.3902925e+08 6.3929958e+08 6.3926682e+08 6.3919514e+08 120652.52 Difference at 95.0% confidence -455680 +/- 167159 -0.0712389% +/- 0.0261329% (Student's t, pooled s = 96607.6) If I will have enough confidence in that patch I will submit it separately, with a proper commit message and clear justification.