Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1706688

Re: [PATCH v1 5/6] zram: remove zram_rw_page

From Matthew Wilcox <willy@infradead.org>
Newsgroups linux.kernel
Subject Re: [PATCH v1 5/6] zram: remove zram_rw_page
Date 2017-08-08 17:50 +0200
Message-ID <uceVA-21I-33@gated-at.bofh.it> (permalink)
References <uc6EG-4gz-3@gated-at.bofh.it> <uc6EH-4gz-33@gated-at.bofh.it> <uc6Om-4zt-13@gated-at.bofh.it> <uc7U5-5eH-1@gated-at.bofh.it> <uc83M-5ix-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Aug 08, 2017 at 05:23:50PM +0900, Sergey Senozhatsky wrote:
> Hello Minchan,
> 
> On (08/08/17 17:13), Minchan Kim wrote:
> > Hi Sergey,
> > 
> > On Tue, Aug 08, 2017 at 04:02:26PM +0900, Sergey Senozhatsky wrote:
> > > On (08/08/17 15:50), Minchan Kim wrote:
> > > > With on-stack-bio, rw_page interface doesn't provide a clear performance
> > > > benefit for zram and surely has a maintenance burden, so remove the
> > > > last user to remove rw_page completely.
> > > 
> > > OK, never really liked it, I think we had that conversation before.
> > > 
> > > as far as I remember, zram_rw_page() was the reason we had to do some
> > > tricks with init_lock to make lockdep happy. may be now we can "simplify"
> > > the things back.
> > 
> > I cannot remember. Blame my brain. ;-)
> 
> no worries. I didn't remember it clearly as well, hence the "may be" part.
> 
> commit 08eee69fcf6baea543a2b4d2a2fcba0e61aa3160
> Author: Minchan Kim
> 
>     zram: remove init_lock in zram_make_request
>     
>     Admin could reset zram during I/O operation going on so we have used
>     zram->init_lock as read-side lock in I/O path to prevent sudden zram
>     meta freeing.
>     
>     However, the init_lock is really troublesome.  We can't do call
>     zram_meta_alloc under init_lock due to lockdep splat because
>     zram_rw_page is one of the function under reclaim path and hold it as
>     read_lock while other places in process context hold it as write_lock.
>     So, we have used allocation out of the lock to avoid lockdep warn but
>     it's not good for readability and fainally, I met another lockdep splat
>     between init_lock and cpu_hotplug from kmem_cache_destroy during working
>     zsmalloc compaction.  :(

I don't think this patch is going to change anything with respect to the
use of init_lock.  You're still going to be called in the reclaim path,
no longer through rw_page, but through the bio path instead.

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH v1 0/6] Remove rw_page Minchan Kim <minchan@kernel.org> - 2017-08-08 09:00 +0200
  [PATCH v1 5/6] zram: remove zram_rw_page Minchan Kim <minchan@kernel.org> - 2017-08-08 09:00 +0200
    Re: [PATCH v1 5/6] zram: remove zram_rw_page Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-08-08 09:10 +0200
      Re: [PATCH v1 5/6] zram: remove zram_rw_page Minchan Kim <minchan@kernel.org> - 2017-08-08 10:20 +0200
        Re: [PATCH v1 5/6] zram: remove zram_rw_page Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> - 2017-08-08 10:30 +0200
          Re: [PATCH v1 5/6] zram: remove zram_rw_page Matthew Wilcox <willy@infradead.org> - 2017-08-08 17:50 +0200

csiph-web