linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] (xen) stable/for-jens-3.8
@ 2012-11-09 14:55 Konrad Rzeszutek Wilk
  2012-11-12 16:19 ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2012-11-09 14:55 UTC (permalink / raw)
  To: axboe, linux-kernel, xen-devel

Hey Jens,

Please git pull the following branch:

 git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-3.8

which has a new feature of the blk[back|front] driver - it is called 'feature-persistent'.
Roger and Oliver patch says:
"  This patch implements persistent grants for the xen-blk{front,back}
    mechanism. The effect of this change is to reduce the number of unmap
    operations performed, since they cause a (costly) TLB shootdown. This
    allows the I/O performance to scale better when a large number of VMs
    are performing I/O.
    
    Previously, the blkfront driver was supplied a bvec[] from the request
    queue. This was granted to dom0; dom0 performed the I/O and wrote
    directly into the grant-mapped memory and unmapped it; blkfront then
    removed foreign access for that grant. The cost of unmapping scales
    badly with the number of CPUs in Dom0. An experiment showed that when
    Dom0 has 24 VCPUs, and guests are performing parallel I/O to a
    ramdisk, the IPIs from performing unmap's is a bottleneck at 5 guests
    (at which point 650,000 IOPS are being performed in total). If more
    than 5 guests are used, the performance declines. By 10 guests, only
    400,000 IOPS are being performed.
    
    This patch improves performance by only unmapping when the connection
    between blkfront and back is broken.
"

Note: You might get a conflict in the common.h file. It should
be fairly easy to fix it - it should end up looking as this:

160         /* Cached size parameter. */
161         sector_t                size;
162         unsigned int            flush_support:1;
163         unsigned int            discard_secure:1;
164         unsigned int            feature_gnt_persistent:1;
165         unsigned int            overflow_max_grants:1;
166 };

Thanks!

 drivers/block/xen-blkback/blkback.c |  295 ++++++++++++++++++++++++++++++++---
 drivers/block/xen-blkback/common.h  |   17 ++
 drivers/block/xen-blkback/xenbus.c  |   23 +++-
 drivers/block/xen-blkfront.c        |  198 ++++++++++++++++++++----
 4 files changed, 478 insertions(+), 55 deletions(-)

Roger Pau Monne (2):
      xen/blkback: Persistent grant maps for xen blk drivers
      xen/blkback: persistent-grants fixes


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

* Re: [GIT PULL] (xen) stable/for-jens-3.8
  2012-11-09 14:55 [GIT PULL] (xen) stable/for-jens-3.8 Konrad Rzeszutek Wilk
@ 2012-11-12 16:19 ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2012-11-12 16:19 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: linux-kernel, xen-devel

On 2012-11-09 07:55, Konrad Rzeszutek Wilk wrote:
> Hey Jens,
> 
> Please git pull the following branch:
> 
>  git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-3.8
> 
> which has a new feature of the blk[back|front] driver - it is called 'feature-persistent'.
> Roger and Oliver patch says:
> "  This patch implements persistent grants for the xen-blk{front,back}
>     mechanism. The effect of this change is to reduce the number of unmap
>     operations performed, since they cause a (costly) TLB shootdown. This
>     allows the I/O performance to scale better when a large number of VMs
>     are performing I/O.
>     
>     Previously, the blkfront driver was supplied a bvec[] from the request
>     queue. This was granted to dom0; dom0 performed the I/O and wrote
>     directly into the grant-mapped memory and unmapped it; blkfront then
>     removed foreign access for that grant. The cost of unmapping scales
>     badly with the number of CPUs in Dom0. An experiment showed that when
>     Dom0 has 24 VCPUs, and guests are performing parallel I/O to a
>     ramdisk, the IPIs from performing unmap's is a bottleneck at 5 guests
>     (at which point 650,000 IOPS are being performed in total). If more
>     than 5 guests are used, the performance declines. By 10 guests, only
>     400,000 IOPS are being performed.
>     
>     This patch improves performance by only unmapping when the connection
>     between blkfront and back is broken.
> "
> 
> Note: You might get a conflict in the common.h file. It should
> be fairly easy to fix it - it should end up looking as this:
> 
> 160         /* Cached size parameter. */
> 161         sector_t                size;
> 162         unsigned int            flush_support:1;
> 163         unsigned int            discard_secure:1;
> 164         unsigned int            feature_gnt_persistent:1;
> 165         unsigned int            overflow_max_grants:1;
> 166 };
> 
> Thanks!

Thanks, pulled. No conflict observed, it merged cleanly.

-- 
Jens Axboe


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

* Re: [GIT PULL] (xen) stable/for-jens-3.8
  2013-02-15  9:30 ` Jens Axboe
@ 2013-02-15 13:31   ` Konrad Rzeszutek Wilk
  0 siblings, 0 replies; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-02-15 13:31 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel

On Fri, Feb 15, 2013 at 10:30:52AM +0100, Jens Axboe wrote:
> On Thu, Feb 14 2013, Konrad Rzeszutek Wilk wrote:
> > Hey Jens,
> > 
> > Please git pull the following branch:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-3.8
> > 
> > which has fixes to the blkback that I hope you can push to Linus for 3.8.
> > The one that is quite vicious is the "xen-blkfront: drop the use of
> > llist_for_each_entry_safe". It is a fix to re-do an "free-ing" loop - otherwise
> > we hit a GCC 4.1.1 bug (so RHEL5 based) that turns the loop in an unbound one.
> 
> Taking pulls this late better all be stable@ worty patches. Are they?

I think that is OK - considering I just sent you _another_ git pull.

If it is not too much trouble, could you take it in your 3.9 tree and once Linus
pulls them I will send an email to Greg asking them to backport the git commits?

Much appreciated and sorry for these very late patches.

> 
> -- 
> Jens Axboe
> 

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

* Re: [GIT PULL] (xen) stable/for-jens-3.8
  2013-02-14 23:26 Konrad Rzeszutek Wilk
@ 2013-02-15  9:30 ` Jens Axboe
  2013-02-15 13:31   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2013-02-15  9:30 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: linux-kernel

On Thu, Feb 14 2013, Konrad Rzeszutek Wilk wrote:
> Hey Jens,
> 
> Please git pull the following branch:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-3.8
> 
> which has fixes to the blkback that I hope you can push to Linus for 3.8.
> The one that is quite vicious is the "xen-blkfront: drop the use of
> llist_for_each_entry_safe". It is a fix to re-do an "free-ing" loop - otherwise
> we hit a GCC 4.1.1 bug (so RHEL5 based) that turns the loop in an unbound one.

Taking pulls this late better all be stable@ worty patches. Are they?

-- 
Jens Axboe


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

* [GIT PULL] (xen) stable/for-jens-3.8
@ 2013-02-14 23:26 Konrad Rzeszutek Wilk
  2013-02-15  9:30 ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-02-14 23:26 UTC (permalink / raw)
  To: axboe, linux-kernel

Hey Jens,

Please git pull the following branch:

git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-jens-3.8

which has fixes to the blkback that I hope you can push to Linus for 3.8.
The one that is quite vicious is the "xen-blkfront: drop the use of
llist_for_each_entry_safe". It is a fix to re-do an "free-ing" loop - otherwise
we hit a GCC 4.1.1 bug (so RHEL5 based) that turns the loop in an unbound one.

Please pull!

 drivers/block/xen-blkback/blkback.c |  1 -
 drivers/block/xen-blkback/xenbus.c  | 49 ++++++++++++++++++-------------------
 drivers/block/xen-blkfront.c        | 13 +++++++---
 include/linux/llist.h               | 25 -------------------
 4 files changed, 34 insertions(+), 54 deletions(-)

Jan Beulich (1):
      xen-blkback: do not leak mode property

Konrad Rzeszutek Wilk (2):
      xen/blkback: Don't trust the handle from the frontend.
      xen-blkfront: drop the use of llist_for_each_entry_safe


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

end of thread, other threads:[~2013-02-15 13:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-09 14:55 [GIT PULL] (xen) stable/for-jens-3.8 Konrad Rzeszutek Wilk
2012-11-12 16:19 ` Jens Axboe
2013-02-14 23:26 Konrad Rzeszutek Wilk
2013-02-15  9:30 ` Jens Axboe
2013-02-15 13:31   ` Konrad Rzeszutek Wilk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).