]> Pileus Git - ~andy/linux/commitdiff
Drivers: hv: Get rid of the unused global signaling state
authorK. Y. Srinivasan <kys@microsoft.com>
Sat, 1 Dec 2012 14:46:51 +0000 (06:46 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Jan 2013 19:39:15 +0000 (11:39 -0800)
Now that we have implemented a per-connection signaling mechanism, get rid
of the global signaling state. For hosts that don't support per-connection
signaling handle, we have moved the global state to be a per-channel state.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/hv.c
drivers/hv/hyperv_vmbus.h

index 76304a6221401c386217acae2791e06ebf2e1745..e989c6fd1f8f77a1fdb201b6cc215984f6b7cd94 100644 (file)
@@ -34,8 +34,6 @@
 struct hv_context hv_context = {
        .synic_initialized      = false,
        .hypercall_page         = NULL,
-       .signal_event_param     = NULL,
-       .signal_event_buffer    = NULL,
 };
 
 /*
@@ -170,24 +168,6 @@ int hv_init(void)
 
        hv_context.hypercall_page = virtaddr;
 
-       /* Setup the global signal event param for the signal event hypercall */
-       hv_context.signal_event_buffer =
-                       kmalloc(sizeof(struct hv_input_signal_event_buffer),
-                               GFP_KERNEL);
-       if (!hv_context.signal_event_buffer)
-               goto cleanup;
-
-       hv_context.signal_event_param =
-               (struct hv_input_signal_event *)
-                       (ALIGN((unsigned long)
-                                 hv_context.signal_event_buffer,
-                                 HV_HYPERCALL_PARAM_ALIGN));
-       hv_context.signal_event_param->connectionid.asu32 = 0;
-       hv_context.signal_event_param->connectionid.u.id =
-                                               VMBUS_EVENT_CONNECTION_ID;
-       hv_context.signal_event_param->flag_number = 0;
-       hv_context.signal_event_param->rsvdz = 0;
-
        return 0;
 
 cleanup:
@@ -215,10 +195,6 @@ void hv_cleanup(void)
        /* Reset our OS id */
        wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0);
 
-       kfree(hv_context.signal_event_buffer);
-       hv_context.signal_event_buffer = NULL;
-       hv_context.signal_event_param = NULL;
-
        if (hv_context.hypercall_page) {
                hypercall_msr.as_uint64 = 0;
                wrmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64);
index 6bbc197cbdfa4ce047584346ae18432af83a9c66..9135a6fcf3bd7c132d8ade9ed138b5ee3124c741 100644 (file)
@@ -492,14 +492,6 @@ struct hv_context {
 
        bool synic_initialized;
 
-       /*
-        * This is used as an input param to HvCallSignalEvent hypercall. The
-        * input param is immutable in our usage and must be dynamic mem (vs
-        * stack or global). */
-       struct hv_input_signal_event_buffer *signal_event_buffer;
-       /* 8-bytes aligned of the buffer above */
-       struct hv_input_signal_event *signal_event_param;
-
        void *synic_message_page[NR_CPUS];
        void *synic_event_page[NR_CPUS];
        /*