Skip to contentSkip to conversation

Drivers: hv: Consolidate GUID definitions

PATCH In review K. Y. Srinivasan 3 participants 19 messages Jan 24, 2013 – Mar 1, 2013

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover Drivers: hv: Consolidate GUID definitions

Greg suggested that it would be better to consolidate all the offer GUID definitions in hyperv.h rather than having them defined in several files. This patch-set does just that. Also, the shutdown code is executed in a thread context.

K. Y. Srinivasan (6):
Drivers: hv: vmbus: Consolidate all offer GUID definitions in
hyperv.h
Drivers: hv: Use consolidated GUID definitions
Drivers: net: hyperv: Use the consolidated GUID definition
Drivers: scsi: storvsc: Use the consolidated GUID definition
Drivers: hid: hid-hyperv: Use consolidated GUID definitions
Drivers: hv: Execute shutdown in a thread context

 drivers/hid/hid-hyperv.c        |    3 +-
 drivers/hv/channel_mgmt.c       |   31 +++----------
 drivers/hv/hv_balloon.c         |    4 +-
 drivers/hv/hv_util.c            |   36 +++++++++-----
 drivers/net/hyperv/netvsc_drv.c |    3 +-
 drivers/scsi/storvsc_drv.c      |   12 +++---
 include/linux/hyperv.h          |   94 +++++++++++++++++++++++++++++++++++++++
 7 files changed, 132 insertions(+), 51 deletions(-)
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/6 Drivers: hv: vmbus: Consolidate all offer GUID definitions in hyperv.h

Consolidate all GUID definitions in hyperv.h and use these definitions in implementing channel bindings (as far as interrupt delivery goes).

---
 drivers/hv/channel_mgmt.c |   31 +++------------
 include/linux/hyperv.h    |   94 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+), 25 deletions(-)
drivers/hv/channel_mgmt.c +6 -25
index c80fe62..421d607 100644
@@ -265,36 +265,17 @@ enum {
 };
 
 /*
- * This is an array of channels (devices) that are performance critical.
+ * This is an array of device_ids (device types) that are performance critical.
  * We attempt to distribute the interrupt load for these devices across
  * all available CPUs.
  */
-static const uuid_le hp_devs[] = {
-	/* {32412632-86cb-44a2-9b5c-50d1417354f5} */
+static const struct hv_vmbus_device_id hp_devs[] = {
 	/* IDE */
-	{
-		.b = {
-			0x32, 0x26, 0x41, 0x32, 0xcb, 0x86, 0xa2, 0x44,
-			0x9b, 0x5c, 0x50, 0xd1, 0x41, 0x73, 0x54, 0xf5
-		}
-	},
-	/* {ba6163d9-04a1-4d29-b605-72e2ffb1dc7f} */
+	{ HV_IDE_GUID, },
 	/* Storage - SCSI */
-	{
-		.b  = {
-			0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d,
-			0xb6, 0x05, 0x72, 0xe2, 0xff, 0xb1, 0xdc, 0x7f
-		}
-	},
-	/* {F8615163-DF3E-46c5-913F-F2D2F965ED0E} */
+	{ HV_SCSI_GUID, },
 	/* Network */
-	{
-		.b = {
-			0x63, 0x51, 0x61, 0xF8, 0x3E, 0xDF, 0xc5, 0x46,
-			0x91, 0x3F, 0xF2, 0xD2, 0xF9, 0x65, 0xED, 0x0E
-		}
-	},
-
+	{ HV_NIC_GUID, },
 };
 
 
@@ -320,7 +301,7 @@ static u32 get_vp_index(uuid_le *type_guid)
 	u32 max_cpus = num_online_cpus();
 
 	for (i = IDE; i < MAX_PERF_CHN; i++) {
-		if (!memcmp(type_guid->b, hp_devs[i].b,
+		if (!memcmp(type_guid->b, hp_devs[i].guid,
 				 sizeof(uuid_le))) {
 			perf_chn = true;
 			break;
include/linux/hyperv.h +94 -0

100 lines not on this page · raw message

Signature · 1 line
1.7.4.1
#2 lore raw

PATCH 2/6 Drivers: hv: Use consolidated GUID definitions

Use the consolidated GUID definitions in the util and balloon drivers.

---
 drivers/hv/hv_balloon.c |    4 +---
 drivers/hv/hv_util.c    |   24 ++++++++++++------------
 2 files changed, 13 insertions(+), 15 deletions(-)
drivers/hv/hv_balloon.c +1 -3
index c02a33e..ce6f984 100644
@@ -1012,9 +1012,7 @@ static int balloon_remove(struct hv_device *dev)
 static const struct hv_vmbus_device_id id_table[] = {
 	/* Dynamic Memory Class ID */
 	/* 525074DC-8985-46e2-8057-A307DC18A502 */
-	{ VMBUS_DEVICE(0xdc, 0x74, 0x50, 0X52, 0x85, 0x89, 0xe2, 0x46,
-		       0x80, 0x57, 0xa3, 0x07, 0xdc, 0x18, 0xa5, 0x02)
-	},
+	{ HV_DM_GUID, },
 	{ },
 };
 
drivers/hv/hv_util.c +12 -12
index a62a760..8b7868a 100644
@@ -314,21 +314,21 @@ static int util_remove(struct hv_device *dev)
 
 static const struct hv_vmbus_device_id id_table[] = {
 	/* Shutdown guid */
-	{ VMBUS_DEVICE(0x31, 0x60, 0x0B, 0X0E, 0x13, 0x52, 0x34, 0x49,
-		       0x81, 0x8B, 0x38, 0XD9, 0x0C, 0xED, 0x39, 0xDB)
-	  .driver_data = (unsigned long)&util_shutdown },
+	{ HV_SHUTDOWN_GUID,
+	  .driver_data = (unsigned long)&util_shutdown
+	},
 	/* Time synch guid */
-	{ VMBUS_DEVICE(0x30, 0xe6, 0x27, 0x95, 0xae, 0xd0, 0x7b, 0x49,
-		       0xad, 0xce, 0xe8, 0x0a, 0xb0, 0x17, 0x5c, 0xaf)
-	  .driver_data = (unsigned long)&util_timesynch },
+	{ HV_TS_GUID,
+	  .driver_data = (unsigned long)&util_timesynch
+	},
 	/* Heartbeat guid */
-	{ VMBUS_DEVICE(0x39, 0x4f, 0x16, 0x57, 0x15, 0x91, 0x78, 0x4e,
-		       0xab, 0x55, 0x38, 0x2f, 0x3b, 0xd5, 0x42, 0x2d)
-	  .driver_data = (unsigned long)&util_heartbeat },
+	{ HV_HEART_BEAT_GUID,
+	  .driver_data = (unsigned long)&util_heartbeat
+	},
 	/* KVP guid */
-	{ VMBUS_DEVICE(0xe7, 0xf4, 0xa0, 0xa9, 0x45, 0x5a, 0x96, 0x4d,
-		       0xb8, 0x27, 0x8a, 0x84, 0x1e, 0x8c, 0x3,  0xe6)
-	  .driver_data = (unsigned long)&util_kvp },
+	{ HV_KVP_GUID,
+	  .driver_data = (unsigned long)&util_kvp
+	},
 	{ },
 };
 
Signature · 1 line
1.7.4.1
#3 lore raw

PATCH 3/6 Drivers: net: hyperv: Use the consolidated GUID definition

In reply to K. Y. Srinivasan

Use the consolidated GUID definitions in the Hyper-V network driver.

---
 drivers/net/hyperv/netvsc_drv.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/net/hyperv/netvsc_drv.c +1 -2
index a9975c7..329c989 100644
@@ -498,8 +498,7 @@ static int netvsc_remove(struct hv_device *dev)
 
 static const struct hv_vmbus_device_id id_table[] = {
 	/* Network guid */
-	{ VMBUS_DEVICE(0x63, 0x51, 0x61, 0xF8, 0x3E, 0xDF, 0xc5, 0x46,
-		       0x91, 0x3F, 0xF2, 0xD2, 0xF9, 0x65, 0xED, 0x0E) },
+	{ HV_NIC_GUID, },
 	{ },
 };
 
Signature · 1 line
1.7.4.1
#4 lore raw

PATCH 4/6 Drivers: scsi: storvsc: Use the consolidated GUID definition

In reply to K. Y. Srinivasan

Use the consolidated GUID definitions in the Hyper-V storage driver.

---
 drivers/scsi/storvsc_drv.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
drivers/scsi/storvsc_drv.c +6 -6
index 0144078..270b3cf 100644
@@ -1410,13 +1410,13 @@ enum {
 
 static const struct hv_vmbus_device_id id_table[] = {
 	/* SCSI guid */
-	{ VMBUS_DEVICE(0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d,
-		       0xb6, 0x05, 0x72, 0xe2, 0xff, 0xb1, 0xdc, 0x7f)
-	  .driver_data = SCSI_GUID },
+	{ HV_SCSI_GUID,
+	  .driver_data = SCSI_GUID
+	},
 	/* IDE guid */
-	{ VMBUS_DEVICE(0x32, 0x26, 0x41, 0x32, 0xcb, 0x86, 0xa2, 0x44,
-		       0x9b, 0x5c, 0x50, 0xd1, 0x41, 0x73, 0x54, 0xf5)
-	  .driver_data = IDE_GUID },
+	{ HV_IDE_GUID,
+	  .driver_data = IDE_GUID
+	},
 	{ },
 };
 
Signature · 1 line
1.7.4.1
#5 lore raw

PATCH 5/6 Drivers: hid: hid-hyperv: Use consolidated GUID definitions

In reply to K. Y. Srinivasan

Use the consolidated GUID definitions in the Hyper-V mouse driver.

---
 drivers/hid/hid-hyperv.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/hid/hid-hyperv.c +1 -2
index 3d62781..aa3fec0 100644
@@ -568,8 +568,7 @@ static int mousevsc_remove(struct hv_device *dev)
 
 static const struct hv_vmbus_device_id id_table[] = {
 	/* Mouse guid */
-	{ VMBUS_DEVICE(0x9E, 0xB6, 0xA8, 0xCF, 0x4A, 0x5B, 0xc0, 0x4c,
-		       0xB9, 0x8B, 0x8B, 0xA1, 0xA1, 0xF3, 0xF9, 0x5A) },
+	{ HV_MOUSE_GUID, },
 	{ },
 };
 
Signature · 1 line
1.7.4.1
Acked-by on v1 5/6
#6 lore raw

Re: [PATCH 5/6] Drivers: hid: hid-hyperv: Use consolidated GUID definitions

Quoted 4 lines · K. Y. Srinivasan

Use the consolidated GUID definitions in the Hyper-V mouse driver.

Greg, I guess you are taking this as a whole?

Thanks.

Quoted 21 lines
---
 drivers/hid/hid-hyperv.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
drivers/hid/hid-hyperv.c +1 -2
index 3d62781..aa3fec0 100644
@@ -568,8 +568,7 @@ static int mousevsc_remove(struct hv_device *dev)
 
 static const struct hv_vmbus_device_id id_table[] = {
 	/* Mouse guid */
-	{ VMBUS_DEVICE(0x9E, 0xB6, 0xA8, 0xCF, 0x4A, 0x5B, 0xc0, 0x4c,
-		       0xB9, 0x8B, 0x8B, 0xA1, 0xA1, 0xF3, 0xF9, 0x5A) },
+	{ HV_MOUSE_GUID, },
 	{ },
 };
 
Signature · 1 line
1.7.4.1
Signature · 2 lines
Jiri Kosina
SUSE Labs
#8 lore raw

PATCH 6/6 Drivers: hv: Execute shutdown in a thread context

In reply to K. Y. Srinivasan

Execute the shutdown code in a thread context. With recent changes made to the shutdown code, shutdown code cannot be invoked from an interrupt context.

---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +11 -1
index 8b7868a..aceb67f 100644
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}
+
+/*
+ * Perform the shutdown operation in a thread context.
+ */
+static DECLARE_WORK(shutdown_work, perform_shutdown);
+
 static void shutdown_onchannelcallback(void *context)
 {
 	struct vmbus_channel *channel = context;
@@ -106,7 +116,7 @@ static void shutdown_onchannelcallback(void *context)
 	}
 
 	if (execute_shutdown == true)
-		orderly_poweroff(true);
+		schedule_work(&shutdown_work);
 }
 
 /*
Signature · 1 line
1.7.4.1
#9 lore raw

Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 14 lines · K. Y. Srinivasan

Execute the shutdown code in a thread context. With recent changes made to the shutdown code, shutdown code cannot be invoked from an interrupt context.

---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 7 lines
drivers/hv/hv_util.c +4 -0
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

Signature · 2 lines
Jiri Kosina
SUSE Labs
#10 lore raw

RE: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 32 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 1 line · K. Y. Srinivasan

Execute the shutdown code in a thread context. With recent changes made to

the

Quoted 16 lines

shutdown code, shutdown code cannot be invoked from an interrupt context.

---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
Quoted 6 lines

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 4 lines
drivers/hv/hv_util.c +4 -0
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

Regards,

K. Y

Quoted 5 lines

--
Jiri Kosina
SUSE Labs

#11 lore raw

Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 32 lines · KY Srinivasan
Quoted 32 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 1 line · K. Y. Srinivasan

Execute the shutdown code in a thread context. With recent changes made to

the

Quoted 16 lines

shutdown code, shutdown code cannot be invoked from an interrupt context.

---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
Quoted 8 lines
Quoted 6 lines

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 4 lines
drivers/hv/hv_util.c +4 -0
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

greg k-h

#12 lore raw

RE: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 52 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, January 24, 2013 12:18 PM
To: KY Srinivasan
Cc: Jiri Kosina; [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 12 lines · KY Srinivasan
Quoted 12 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 3 lines
Quoted 3 lines · K. Y. Srinivasan
Quoted 2 lines

Execute the shutdown code in a thread context. With recent changes made

to

Quoted 2 lines
Quoted 2 lines

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 21 lines
Quoted 21 lines
Quoted 12 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 7 lines
drivers/hv/hv_util.c +4 -0
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

Quoted 4 lines
Quoted 2 lines

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

You got it!

Regards,

K. Y

Quoted 3 lines

greg k-h

#13 lore raw

RE: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

In reply to [email protected]
Quoted 52 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, January 24, 2013 12:18 PM
To: KY Srinivasan
Cc: Jiri Kosina; [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 12 lines · KY Srinivasan
Quoted 12 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 3 lines
Quoted 3 lines · K. Y. Srinivasan
Quoted 2 lines

Execute the shutdown code in a thread context. With recent changes made

to

Quoted 2 lines
Quoted 2 lines

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 21 lines
Quoted 21 lines
Quoted 12 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 7 lines
drivers/hv/hv_util.c +4 -0
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

Quoted 4 lines
Quoted 2 lines

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

I just saw that you closed the tree. Did these patches go in?

Regards,

K. Y

Quoted 3 lines

greg k-h

#14 lore raw

Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 52 lines · KY Srinivasan
Quoted 52 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, January 24, 2013 12:18 PM
To: KY Srinivasan
Cc: Jiri Kosina; [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 12 lines · KY Srinivasan
Quoted 12 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 3 lines
Quoted 3 lines · K. Y. Srinivasan
Quoted 2 lines

Execute the shutdown code in a thread context. With recent changes made

to

Quoted 2 lines
Quoted 2 lines

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 21 lines
Quoted 21 lines
Quoted 12 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 7 lines
drivers/hv/hv_util.c +4 -0
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

I just saw that you closed the tree. Did these patches go in?

They should have, didn't you get an email saying they were in? If not, check my git trees to verify.

thanks,

greg k-h

#15 lore raw

RE: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 68 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Friday, February 08, 2013 7:44 PM
To: KY Srinivasan
Cc: Jiri Kosina; [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 14 lines · KY Srinivasan
Quoted 14 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, January 24, 2013 12:18 PM
To: KY Srinivasan
Cc: Jiri Kosina; [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 2 lines · KY Srinivasan
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread

context

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines · K. Y. Srinivasan
Quoted 2 lines

Execute the shutdown code in a thread context. With recent changes

made

Quoted 19 lines
Quoted 19 lines

to

Quoted 2 lines
Quoted 2 lines

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 6 lines

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 4 lines
drivers/hv/hv_util.c +4 -0
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

I don't know how this extra tab crept through! Greg, if you want I can

resend

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Quoted 1 line

this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

I just saw that you closed the tree. Did these patches go in?

They should have, didn't you get an email saying they were in? If not, check my git trees to verify.

They have gone in; thanks. I have been having mail problems and had not received the check-in email.

Regards,

K. Y

#16 lore raw

RE: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

In reply to [email protected]
Quoted 52 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Thursday, January 24, 2013 12:18 PM
To: KY Srinivasan
Cc: Jiri Kosina; [email protected]; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 12 lines · KY Srinivasan
Quoted 12 lines

-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Thursday, January 24, 2013 5:10 AM
To: KY Srinivasan
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 3 lines
Quoted 3 lines · K. Y. Srinivasan
Quoted 2 lines

Execute the shutdown code in a thread context. With recent changes made

to

Quoted 2 lines
Quoted 2 lines

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 21 lines
Quoted 21 lines
Quoted 12 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 7 lines
drivers/hv/hv_util.c +4 -0
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

Quoted 4 lines
Quoted 2 lines

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

Greg,

You have already applied this. There has been some customer request for getting this patch into 3.7 (3.7 is where the Hyper-V shutdown code ceased to work because of some other patches unrelated to Hyper-V that went in). What is the process for requesting that this patch be applied all the way back to 3.7.

Regards,

K. Y

Quoted 3 lines

greg k-h

#17 lore raw

Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 28 lines · KY Srinivasan
Quoted 28 lines
Quoted 3 lines
Quoted 3 lines
Quoted 1 line

Execute the shutdown code in a thread context. With recent changes made

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 23 lines
Quoted 15 lines
Quoted 15 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
Quoted 6 lines

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 4 lines
drivers/hv/hv_util.c +4 -0
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

I don't know how this extra tab crept through! Greg, if you want I can resend this patch minus the extra tab. Let me know.

Quoted 8 lines
Quoted 1 line

I'll edit it by hand, but someone owes me a beer for it... :)

Greg,

You have already applied this. There has been some customer request for getting this patch into 3.7 (3.7 is where the Hyper-V shutdown code ceased to work because of some other patches unrelated to Hyper-V that went in). What is the process for requesting that this patch be applied all the way back to 3.7.

You have read the file, Documentation/stable_kernel_rules.txt, right?

But please remember, the 3.7 kernel is now end-of-life, as of the 3.7.10 kernel release, so even if this was a bug fix that was applicable to stable kernels, it would be impossible to get it into the 3.7.y releases, without going back in time.

sorry,

greg k-h

#18 lore raw

RE: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 52 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Friday, March 01, 2013 11:11 AM
To: KY Srinivasan
Cc: [email protected]; Jiri Kosina; [email protected]; linux- [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/6] Drivers: hv: Execute shutdown in a thread context

Quoted 1 line · KY Srinivasan
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

Execute the shutdown code in a thread context. With recent changes

made

Quoted 18 lines
Quoted 18 lines
Quoted 2 lines
Quoted 2 lines

the

Quoted 1 line

shutdown code, shutdown code cannot be invoked from an interrupt

context.

Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
---
 drivers/hv/hv_util.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
drivers/hv/hv_util.c +0 -0
index 8b7868a..aceb67f 100644
@@ -49,6 +49,16 @@ static struct hv_util_service util_kvp = {
 	.util_deinit = hv_kvp_deinit,
 };
 
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 6 lines

drivers/hv/hv_util.c static struct hv_util_service util_kvp = { · line 55

Quoted 4 lines
drivers/hv/hv_util.c +4 -0
+static void perform_shutdown(struct work_struct *dummy)
+{
+		orderly_poweroff(true);
+}

Is there any particular reason for this kind of crazy indentation?

I don't know how this extra tab crept through! Greg, if you want I can

resend

Quoted 7 lines
Quoted 3 lines
Quoted 1 line

this patch minus the extra tab. Let me know.

I'll edit it by hand, but someone owes me a beer for it... :)

Greg,

You have already applied this. There has been some customer request for

getting this

Quoted 1 line

patch into 3.7 (3.7 is where the Hyper-V shutdown code ceased to work

because of

Quoted 1 line

some other patches unrelated to Hyper-V that went in). What is the process for

requesting

Quoted 8 lines
Quoted 1 line

that this patch be applied all the way back to 3.7.

You have read the file, Documentation/stable_kernel_rules.txt, right?

But please remember, the 3.7 kernel is now end-of-life, as of the 3.7.10 kernel release, so even if this was a bug fix that was applicable to stable kernels, it would be impossible to get it into the 3.7.y releases, without going back in time.

Thanks Greg.

K. Y

Quoted 5 lines

sorry,

greg k-h