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

From: [email-masked] (Julien Grall)
Date: Thu, 16 Jul 2015 17:18:29 +0100

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 <[email-masked]>
>> Cc: Konrad Rzeszutek Wilk <[email-masked]>
>> Cc: Boris Ostrovsky <[email-masked]>
>> Cc: David Vrabel <[email-masked]>
>> ---
>>   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