lkml.org 
[lkml]   [2012]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/6] drivers: hv: Increase the number of VCPUs supported in the guest
    Date
    The current code arbirarily limited the number of CPUs the guest could have.
    Change that so that we can support the maximum number of CPUs the guest can
    support. While we use NR_CPUS to size the per-cpu state all we are allocating
    based on NR_CPUS are the pointers to per-cpu state that will be allocatted in
    the context of the initializing CPU. This patch triggers a checkpatch warning
    for the usage of NR_CPU and since all we are allocating a couple of pointers
    per CPU, it should be ok..


    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
    ---
    drivers/hv/hv.c | 4 ++--
    drivers/hv/hyperv_vmbus.h | 5 ++---
    2 files changed, 4 insertions(+), 5 deletions(-)

    diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c
    index 12aa97f..15956bd 100644
    --- a/drivers/hv/hv.c
    +++ b/drivers/hv/hv.c
    @@ -155,9 +155,9 @@ int hv_init(void)
    union hv_x64_msr_hypercall_contents hypercall_msr;
    void *virtaddr = NULL;

    - memset(hv_context.synic_event_page, 0, sizeof(void *) * MAX_NUM_CPUS);
    + memset(hv_context.synic_event_page, 0, sizeof(void *) * NR_CPUS);
    memset(hv_context.synic_message_page, 0,
    - sizeof(void *) * MAX_NUM_CPUS);
    + sizeof(void *) * NR_CPUS);

    if (!query_hypervisor_presence())
    goto cleanup;
    diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h
    index 6d7d286..699f0d8 100644
    --- a/drivers/hv/hyperv_vmbus.h
    +++ b/drivers/hv/hyperv_vmbus.h
    @@ -457,7 +457,6 @@ static const uuid_le VMBUS_SERVICE_ID = {
    },
    };

    -#define MAX_NUM_CPUS 32


    struct hv_input_signal_event_buffer {
    @@ -483,8 +482,8 @@ struct hv_context {
    /* 8-bytes aligned of the buffer above */
    struct hv_input_signal_event *signal_event_param;

    - void *synic_message_page[MAX_NUM_CPUS];
    - void *synic_event_page[MAX_NUM_CPUS];
    + void *synic_message_page[NR_CPUS];
    + void *synic_event_page[NR_CPUS];
    };

    extern struct hv_context hv_context;
    --
    1.7.4.1


    \
     
     \ /
      Last update: 2012-01-28 00:55    [W:0.023 / U:1.100 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site