]> git.baikalelectronics.ru Git - kernel.git/commit
xen/events: fifo: Make it running on 64KB granularity
authorJulien Grall <julien.grall@citrix.com>
Tue, 5 May 2015 15:37:30 +0000 (16:37 +0100)
committerDavid Vrabel <david.vrabel@citrix.com>
Fri, 23 Oct 2015 13:20:38 +0000 (14:20 +0100)
commite031a7081925ead3cfba88d43f87ed412d03a733
tree400b90c567d2fd0afefb6f8fe3fab107f0f3baf4
parent34c3db7940526f5e998ea3cf8c05825d70748393
xen/events: fifo: Make it running on 64KB granularity

Only use the first 4KB of the page to store the events channel info. It
means that we will waste 60KB every time we allocate page for:
     * 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.

Signed-off-by: Julien Grall <julien.grall@citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
drivers/xen/events/events_base.c
drivers/xen/events/events_fifo.c