Re: [Xen-devel] [PATCHv6 2/3] grant_table: convert grant table rwlock to percpu rwlock

2016-01-22 Thread Ian Campbell
On Fri, 2016-01-22 at 08:34 -0700, Jan Beulich wrote: > >>> On 22.01.16 at 16:22, wrote: > > On Fri, 2016-01-22 at 08:15 -0700, Jan Beulich wrote: > >> > >> There are a number of trailing blanks being added here (and > further > >> down), which I'm fixing up as I'm in the process of applying this

Re: [Xen-devel] [PATCHv6 2/3] grant_table: convert grant table rwlock to percpu rwlock

2016-01-22 Thread Jan Beulich
>>> On 22.01.16 at 16:22, wrote: > On Fri, 2016-01-22 at 08:15 -0700, Jan Beulich wrote: >> >> There are a number of trailing blanks being added here (and further >> down), which I'm fixing up as I'm in the process of applying this. > > Aside: Do you know about "git am --whitespace=fix" ? It aut

Re: [Xen-devel] [PATCHv6 2/3] grant_table: convert grant table rwlock to percpu rwlock

2016-01-22 Thread Ian Campbell
On Fri, 2016-01-22 at 08:15 -0700, Jan Beulich wrote: > > There are a number of trailing blanks being added here (and further > down), which I'm fixing up as I'm in the process of applying this. Aside: Do you know about "git am --whitespace=fix" ? It automates the removal of trailing whitespace..

Re: [Xen-devel] [PATCHv6 2/3] grant_table: convert grant table rwlock to percpu rwlock

2016-01-22 Thread Jan Beulich
>>> On 22.01.16 at 14:41, wrote: > --- a/xen/common/grant_table.c > +++ b/xen/common/grant_table.c > @@ -178,6 +178,8 @@ struct active_grant_entry { > #define _active_entry(t, e) \ > ((t)->active[(e)/ACGNT_PER_PAGE][(e)%ACGNT_PER_PAGE]) > > +DEFINE_PERCPU_RWLOCK_GLOBAL(grant_rwlock); > + >

[Xen-devel] [PATCHv6 2/3] grant_table: convert grant table rwlock to percpu rwlock

2016-01-22 Thread Malcolm Crossley
The per domain grant table read lock suffers from significant contention when performance multi-queue block or network IO due to the parallel grant map/unmaps/copies occurring on the DomU's grant table. On multi-socket systems, the contention results in the locked compare swap operation failing fr