On Thu, Oct 21, 2021 at 10:39:46AM -0700, Luis Chamberlain wrote: > On Wed, Oct 20, 2021 at 02:40:05PM -0700, Minchan Kim wrote: > > On Wed, Oct 20, 2021 at 09:55:44AM +0800, Ming Lei wrote: > > > Hello, > > > > > > Fixes three issues reported by Luis Chamberlain with one simpler approach: > > > > > > - race between between zram_reset_device() and disksize_store() (1/4) > > > > > > - zram leak during unloading module, which is one race between resetting > > > and removing device (2/4) > > > > > > - race between zram_remove and disksize_store (3/4) > > > > > > Also replace replace fsync_bdev with sync_blockdev since no one opens > > > it.(4/4) > > > > > > V2: > > > - take another approach to avoid failing of zram_remove() > > > - add patch to address race between zram_reset_device() and > > > disksize_store() > > > > > > > Thanks for breaking the problems down, Ming. > > > > To me, the whole patchset looks good to me since each patch solves > > the problem step by step and finally fix. > > > > Luis, do you have any concern of this patchset to solve the cpuhp > > problem? (Sorry in advance if I miss some concerns if you raised > > in different thread. I'm totally lost). > > Running tests against this now. Will report back! So indeed with these patches I end up in the situation where we if if spawn two ltp zram02.sh runs and cancel then randomly and start them again: zram: Can't change algorithm for initialized device And after that only if you do: swapoff /dev/zram0 Only then can you restart the tests again. I had note seen that with my patch fix, but But Ming noted that he did see that, and I trust him, although I can't reproduce that issue. And from at lest a testing perspective then: Tested-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> I'll go and do the line-by-line code review now. Luis