All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] writeback: convert writeback to unbound workqueue
@ 2013-04-02  3:09 Tejun Heo
  2013-04-02  9:53 ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Tejun Heo @ 2013-04-02  3:09 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel, Jan Kara, Fengguang Wu, Jeff Moyer

Hello, Jens.

This is the pull request for the earlier patchset[1] with the same
name.  It's only three patches (the first one was committed to
workqueue tree) but the merge strategy is a bit involved due to the
dependencies.

* Because the conversion needs features from wq/for-3.10,
  block/for-3.10/core is based on rc3, and wq/for-3.10 has conflicts
  with rc3, I pulled mainline (rc5) into wq/for-3.10 to prevent those
  workqueue conflicts from flaring up in block tree.

* Resolving the issue that Jan and Dave raised about debugging
  requires arch-wide changes.  The patchset is being worked on[2] but
  it'll have to go through -mm after these changes show up in -next,
  and not included in this pull request.

The three commits are located in the following git branch.

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git writeback-workqueue

Pulling it into block/for-3.10/core produces a conflict in
drivers/md/raid5.c between the following two commits.

  e3620a3ad5 ("MD RAID5: Avoid accessing gendisk or queue structs when not available")
  2f6db2a707 ("raid5: use bio_reset()")

The conflict is trivial - one removes an "if ()" conditional while the
other removes "rbi->bi_next = NULL" right above it.  We just need to
remove both.  The merged branch is available at

  git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git block-test-merge

so that you can use it for verification.  The test merge commit has
proper merge description.

While these changes are a bit of pain to route, they make code simpler
and even have, while minute, measureable performance gain[3] even on a
workload which isn't particularly favorable to showing the benefits of
this conversion.

Thanks.

-- 
tejun

[1] http://thread.gmane.org/gmane.linux.kernel/1453006
[2] https://lkml.org/lkml/2013/3/29/354
[3] https://lkml.org/lkml/2013/3/28/67

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] writeback: convert writeback to unbound workqueue
  2013-04-02  3:09 [GIT PULL] writeback: convert writeback to unbound workqueue Tejun Heo
@ 2013-04-02  9:53 ` Jens Axboe
  2013-04-02 16:20   ` Tejun Heo
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2013-04-02  9:53 UTC (permalink / raw)
  To: Tejun Heo; +Cc: linux-kernel, Jan Kara, Fengguang Wu, Jeff Moyer

On Mon, Apr 01 2013, Tejun Heo wrote:
> Hello, Jens.
> 
> This is the pull request for the earlier patchset[1] with the same
> name.  It's only three patches (the first one was committed to
> workqueue tree) but the merge strategy is a bit involved due to the
> dependencies.
> 
> * Because the conversion needs features from wq/for-3.10,
>   block/for-3.10/core is based on rc3, and wq/for-3.10 has conflicts
>   with rc3, I pulled mainline (rc5) into wq/for-3.10 to prevent those
>   workqueue conflicts from flaring up in block tree.
> 
> * Resolving the issue that Jan and Dave raised about debugging
>   requires arch-wide changes.  The patchset is being worked on[2] but
>   it'll have to go through -mm after these changes show up in -next,
>   and not included in this pull request.
> 
> The three commits are located in the following git branch.
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git writeback-workqueue
> 
> Pulling it into block/for-3.10/core produces a conflict in
> drivers/md/raid5.c between the following two commits.
> 
>   e3620a3ad5 ("MD RAID5: Avoid accessing gendisk or queue structs when not available")
>   2f6db2a707 ("raid5: use bio_reset()")
> 
> The conflict is trivial - one removes an "if ()" conditional while the
> other removes "rbi->bi_next = NULL" right above it.  We just need to
> remove both.  The merged branch is available at
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git block-test-merge
> 
> so that you can use it for verification.  The test merge commit has
> proper merge description.
> 
> While these changes are a bit of pain to route, they make code simpler
> and even have, while minute, measureable performance gain[3] even on a
> workload which isn't particularly favorable to showing the benefits of
> this conversion.

Thanks, pulled in for testing. We'll need the debug change in before
sending this upstream, though. I agree with Jan/Dave that this is
required functionality, for debugging purposes.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] writeback: convert writeback to unbound workqueue
  2013-04-02  9:53 ` Jens Axboe
@ 2013-04-02 16:20   ` Tejun Heo
  2013-04-03 11:47     ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Tejun Heo @ 2013-04-02 16:20 UTC (permalink / raw)
  To: Jens Axboe; +Cc: lkml, Jan Kara, Fengguang Wu, Jeff Moyer

Hello, Jens.

On Tue, Apr 2, 2013 at 2:53 AM, Jens Axboe <axboe@kernel.dk> wrote:
> Thanks, pulled in for testing. We'll need the debug change in before
> sending this upstream, though. I agree with Jan/Dave that this is
> required functionality, for debugging purposes.

Yeah, sure thing. The debug changes are targeting the coming merge
window but they'll have to go through -mm instead of block or
workqueue trees due to dependencies on arch changes.  So, AFAICS,
while the routing is rather complicated, things should fall in place
in the same merge window.

Thanks.

--
tejun

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] writeback: convert writeback to unbound workqueue
  2013-04-02 16:20   ` Tejun Heo
@ 2013-04-03 11:47     ` Jens Axboe
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2013-04-03 11:47 UTC (permalink / raw)
  To: Tejun Heo; +Cc: lkml, Jan Kara, Fengguang Wu, Jeff Moyer

On Tue, Apr 02 2013, Tejun Heo wrote:
> Hello, Jens.
> 
> On Tue, Apr 2, 2013 at 2:53 AM, Jens Axboe <axboe@kernel.dk> wrote:
> > Thanks, pulled in for testing. We'll need the debug change in before
> > sending this upstream, though. I agree with Jan/Dave that this is
> > required functionality, for debugging purposes.
> 
> Yeah, sure thing. The debug changes are targeting the coming merge
> window but they'll have to go through -mm instead of block or
> workqueue trees due to dependencies on arch changes.  So, AFAICS,
> while the routing is rather complicated, things should fall in place
> in the same merge window.

OK, that will work. Thanks, Tejun.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-04-03 11:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-02  3:09 [GIT PULL] writeback: convert writeback to unbound workqueue Tejun Heo
2013-04-02  9:53 ` Jens Axboe
2013-04-02 16:20   ` Tejun Heo
2013-04-03 11:47     ` Jens Axboe

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.