From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
To: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Jerome Marchand <jmarchan@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
driverdev-devel@linuxdriverproject.org,
Minchan Kim <minchan@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] staging: zram: minimize `slot_free_lock' usage (v2)
Date: Wed, 11 Sep 2013 02:27:25 +0300 [thread overview]
Message-ID: <20130910232725.GC2450@swordfish> (raw)
In-Reply-To: <20130910143416.GC2270@swordfish>
On (09/10/13 17:34), Sergey Senozhatsky wrote:
[..]
> >
> > Now I think we can drop the call to handle_pending_slot_free() in
> > zram_bvec_rw() altogether. As long as the write lock is held when
> > handle_pending_slot_free() is called, there is no race. It's no different
> > from any write request and the current code handles R/W concurrency
> > already.
>
> Yes, I think that can work.
>
> To summarize, there should be 3 patches:
> 1) handle_pending_slot_free() in zram_bvec_rw() (as suggested by Jerome Marchand)
> 2) handle_pending_slot_free() race with reset (found by Dan Carpenter)
> 3) drop init_done and use init_done()
>
> I'll prepare a patches later today.
I've sent two patches:
staging: zram: fix handle_pending_slot_free() and zram_reset_device() race
staging: zram: remove init_done from zram struct (v3)
Cc'd driverdev-devel@linuxdriverproject.org as suggested by Dan.
please discard any previous patches and sorry for the noise.
Thanks,
-ss
>
> > Jerome
> >
> > >
> > >>
> > >> 1) You haven't given us any performance numbers so it's not clear if the
> > >> locking is even a problem.
> > >>
> > >> 2) The v2 patch introduces an obvious deadlock in zram_slot_free()
> > >> because now we take the rw_lock twice. Fix your testing to catch
> > >> this kind of bug next time.
> > >>
> > >> 3) Explain why it is safe to test zram->slot_free_rq when we are not
> > >> holding the lock. I think it is unsafe. I don't want to even think
> > >> about it without the numbers.
> > >>
> > >> regards,
> > >> dan carpenter
> > >>
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at http://www.tux.org/lkml/
> > >
> >
next prev parent reply other threads:[~2013-09-10 23:28 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-06 15:12 [PATCH 1/2] staging: zram: minimize `slot_free_lock' usage (v2) Sergey Senozhatsky
2013-09-09 12:33 ` Dan Carpenter
2013-09-09 12:49 ` Sergey Senozhatsky
2013-09-09 13:21 ` Dan Carpenter
2013-09-09 13:46 ` Jerome Marchand
2013-09-09 16:10 ` Jerome Marchand
2013-09-10 14:34 ` Sergey Senozhatsky
2013-09-10 14:58 ` Dan Carpenter
2013-09-10 15:15 ` Greg Kroah-Hartman
2013-09-10 23:12 ` [PATCH 1/2] staging: zram: fix handle_pending_slot_free() and zram_reset_device() race Sergey Senozhatsky
2013-09-12 22:12 ` Greg KH
2013-09-13 9:17 ` Sergey Senozhatsky
2013-09-16 0:02 ` Minchan Kim
2013-09-17 17:24 ` Sergey Senozhatsky
2013-09-23 4:24 ` Minchan Kim
2013-09-23 8:42 ` Sergey Senozhatsky
2013-09-10 23:19 ` [PATCH 2/2] staging: zram: remove init_done from zram struct (v3) Sergey Senozhatsky
2013-09-10 23:27 ` Sergey Senozhatsky [this message]
2013-09-09 14:42 ` [PATCH 1/2] staging: zram: minimize `slot_free_lock' usage (v2) Sergey Senozhatsky
2013-09-09 14:52 ` Dan Carpenter
2013-09-09 15:09 ` Sergey Senozhatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130910232725.GC2450@swordfish \
--to=sergey.senozhatsky@gmail.com \
--cc=dan.carpenter@oracle.com \
--cc=driverdev-devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=jmarchan@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=minchan@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.