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


Groups > linux.kernel > #1186013 > unrolled thread

Re: [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity

Started byStefano Stabellini <stefano.stabellini@eu.citrix.com>
First post2015-07-16 17:50 +0200
Last post2015-07-17 15:10 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB  granularity Stefano Stabellini <stefano.stabellini@eu.citrix.com> - 2015-07-16 17:50 +0200
    Re: [Xen-devel] [PATCH v2 13/20] xen/events: fifo: Make it running  on 64KB granularity Julien Grall <julien.grall@citrix.com> - 2015-07-16 18:30 +0200
      Re: [Xen-devel] [PATCH v2 13/20] xen/events: fifo: Make it running  on 64KB granularity Stefano Stabellini <stefano.stabellini@eu.citrix.com> - 2015-07-17 15:10 +0200

#1186013 — Re: [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity

FromStefano Stabellini <stefano.stabellini@eu.citrix.com>
Date2015-07-16 17:50 +0200
SubjectRe: [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity
Message-ID<pMTA7-2Br-39@gated-at.bofh.it>
On Thu, 9 Jul 2015, Julien Grall wrote:
> Only use the first 4KB of the page to store the events channel info. It
> means that we will wast 60KB every time we allocate page for:
                      ^ waste

>      * control block: a page is allocating per CPU
>      * event array: a page is allocating everytime we need to expand it
> 
> I think we can reduce the memory waste for the 2 areas by:
> 
>     * control block: sharing between multiple vCPUs. Although it will
>     require some bookkeeping in order to not free the page when the CPU
>     goes offline and the other CPUs sharing the page still there
> 
>     * event array: always extend the array event by 64K (i.e 16 4K
>     chunk). That would require more care when we fail to expand the
>     event channel.

But this is not implemented in this series, right?


> Signed-off-by: Julien Grall <julien.grall@citrix.com>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: David Vrabel <david.vrabel@citrix.com>
> ---
>  drivers/xen/events/events_base.c | 2 +-
>  drivers/xen/events/events_fifo.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
> index 96093ae..858d2f6 100644
> --- a/drivers/xen/events/events_base.c
> +++ b/drivers/xen/events/events_base.c
> @@ -40,11 +40,11 @@
>  #include <asm/idle.h>
>  #include <asm/io_apic.h>
>  #include <asm/xen/pci.h>
> -#include <xen/page.h>
>  #endif
>  #include <asm/sync_bitops.h>
>  #include <asm/xen/hypercall.h>
>  #include <asm/xen/hypervisor.h>
> +#include <xen/page.h>
>  
>  #include <xen/xen.h>
>  #include <xen/hvm.h>

Spurious change?


> diff --git a/drivers/xen/events/events_fifo.c b/drivers/xen/events/events_fifo.c
> index ed673e1..d53c297 100644
> --- a/drivers/xen/events/events_fifo.c
> +++ b/drivers/xen/events/events_fifo.c
> @@ -54,7 +54,7 @@
>  
>  #include "events_internal.h"
>  
> -#define EVENT_WORDS_PER_PAGE (PAGE_SIZE / sizeof(event_word_t))
> +#define EVENT_WORDS_PER_PAGE (XEN_PAGE_SIZE / sizeof(event_word_t))
>  #define MAX_EVENT_ARRAY_PAGES (EVTCHN_FIFO_NR_CHANNELS / EVENT_WORDS_PER_PAGE)
>  
>  struct evtchn_fifo_queue {
> -- 
> 2.1.4
> 
--
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/

[toc] | [next] | [standalone]


#1186052 — Re: [Xen-devel] [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity

FromJulien Grall <julien.grall@citrix.com>
Date2015-07-16 18:30 +0200
SubjectRe: [Xen-devel] [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity
Message-ID<pMUcO-3Ap-7@gated-at.bofh.it>
In reply to#1186013
Hi Stefano,

On 16/07/2015 16:43, Stefano Stabellini wrote:
> On Thu, 9 Jul 2015, Julien Grall wrote:
>> Only use the first 4KB of the page to store the events channel info. It
>> means that we will wast 60KB every time we allocate page for:
>                        ^ waste
>
>>       * control block: a page is allocating per CPU
>>       * event array: a page is allocating everytime we need to expand it
>>
>> I think we can reduce the memory waste for the 2 areas by:
>>
>>      * control block: sharing between multiple vCPUs. Although it will
>>      require some bookkeeping in order to not free the page when the CPU
>>      goes offline and the other CPUs sharing the page still there
>>
>>      * event array: always extend the array event by 64K (i.e 16 4K
>>      chunk). That would require more care when we fail to expand the
>>      event channel.
>
> But this is not implemented in this series, right?

Yes, it's some ideas to improve the code.

>
>
>> Signed-off-by: Julien Grall <julien.grall@citrix.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> Cc: David Vrabel <david.vrabel@citrix.com>
>> ---
>>   drivers/xen/events/events_base.c | 2 +-
>>   drivers/xen/events/events_fifo.c | 2 +-
>>   2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
>> index 96093ae..858d2f6 100644
>> --- a/drivers/xen/events/events_base.c
>> +++ b/drivers/xen/events/events_base.c
>> @@ -40,11 +40,11 @@
>>   #include <asm/idle.h>
>>   #include <asm/io_apic.h>
>>   #include <asm/xen/pci.h>
>> -#include <xen/page.h>
>>   #endif
>>   #include <asm/sync_bitops.h>
>>   #include <asm/xen/hypercall.h>
>>   #include <asm/xen/hypervisor.h>
>> +#include <xen/page.h>
>>
>>   #include <xen/xen.h>
>>   #include <xen/hvm.h>
>
> Spurious change?

No, xen/page.h was only included for x86 before. Now, it's included for 
every architecture.

This is required in order to get XEN_PAGE_SIZE.

Regards,

-- 
Julien Grall
--
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/

[toc] | [prev] | [next] | [standalone]


#1186807 — Re: [Xen-devel] [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity

FromStefano Stabellini <stefano.stabellini@eu.citrix.com>
Date2015-07-17 15:10 +0200
SubjectRe: [Xen-devel] [PATCH v2 13/20] xen/events: fifo: Make it running on 64KB granularity
Message-ID<pNdyO-6ka-31@gated-at.bofh.it>
In reply to#1186052
On Thu, 16 Jul 2015, Julien Grall wrote:
> Hi Stefano,
> 
> On 16/07/2015 16:43, Stefano Stabellini wrote:
> > On Thu, 9 Jul 2015, Julien Grall wrote:
> > > Only use the first 4KB of the page to store the events channel info. It
> > > means that we will wast 60KB every time we allocate page for:
> >                        ^ waste
> > 
> > >       * control block: a page is allocating per CPU
> > >       * event array: a page is allocating everytime we need to expand it
> > > 
> > > I think we can reduce the memory waste for the 2 areas by:
> > > 
> > >      * control block: sharing between multiple vCPUs. Although it will
> > >      require some bookkeeping in order to not free the page when the CPU
> > >      goes offline and the other CPUs sharing the page still there
> > > 
> > >      * event array: always extend the array event by 64K (i.e 16 4K
> > >      chunk). That would require more care when we fail to expand the
> > >      event channel.
> > 
> > But this is not implemented in this series, right?
> 
> Yes, it's some ideas to improve the code.
> 
> > 
> > 
> > > Signed-off-by: Julien Grall <julien.grall@citrix.com>
> > > Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> > > Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> > > Cc: David Vrabel <david.vrabel@citrix.com>
> > > ---
> > >   drivers/xen/events/events_base.c | 2 +-
> > >   drivers/xen/events/events_fifo.c | 2 +-
> > >   2 files changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/xen/events/events_base.c
> > > b/drivers/xen/events/events_base.c
> > > index 96093ae..858d2f6 100644
> > > --- a/drivers/xen/events/events_base.c
> > > +++ b/drivers/xen/events/events_base.c
> > > @@ -40,11 +40,11 @@
> > >   #include <asm/idle.h>
> > >   #include <asm/io_apic.h>
> > >   #include <asm/xen/pci.h>
> > > -#include <xen/page.h>
> > >   #endif
> > >   #include <asm/sync_bitops.h>
> > >   #include <asm/xen/hypercall.h>
> > >   #include <asm/xen/hypervisor.h>
> > > +#include <xen/page.h>
> > > 
> > >   #include <xen/xen.h>
> > >   #include <xen/hvm.h>
> > 
> > Spurious change?
> 
> No, xen/page.h was only included for x86 before. Now, it's included for every
> architecture.
> 
> This is required in order to get XEN_PAGE_SIZE.

Ah, right.

Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
--
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/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web