Messages in this thread | | | Date | Tue, 14 Jan 2014 10:09:14 +0300 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH 6/7] zram: remove workqueue for freeing removed pending slot |
| |
Hello Minchan,
On (01/14/14 08:38), Minchan Kim wrote: > Hello Sergey, > > On Mon, Jan 13, 2014 at 10:42:56PM +0300, Sergey Senozhatsky wrote: > > On (01/13/14 20:19), Minchan Kim wrote: > > > > Hello Minchan, > > I think we need to down_write init_lock in zram_slot_free_notify(), > > and thus can avoid locking meta->tb_lock. otherwise, I think, > > zram_slot_free_notify is atomic path so we couldn't hold mutex. > > > there is a chance that zram_slot_free_notify() can race with > > device reset, e.g. > > > > zram_slot_free_notify() zram_reset_device() > > down_write(&zram->init_lock); > > meta = zram->meta > > zram_meta_free(zram->meta); > > zram->meta = NULL; > > write_lock(&meta->tb_lock); > > [...] > > write_unlock(&meta->tb_lock); > > [..] > > up_write(&zram->init_lock); > > > > Nope. We couldn't reset active device by bdev->bd_holders check > logic in reset_store. >
true. sorry for the noise.
-ss
| |