Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Ubuntu Kernel Team (http://www.linux-archive.org/ubuntu-kernel-team/)
-   -   Maverick on Hyper-V - fixes for instability (http://www.linux-archive.org/ubuntu-kernel-team/511180-maverick-hyper-v-fixes-instability.html)

Mike Sterling 04-06-2011 05:53 PM

Maverick on Hyper-V - fixes for instability
 
If a user wants to run Linux in a Hyper-V virtual machine (Hyper-V is Microsoft's virtualization solution, included in Windows Server 2008 and higher), Microsoft provides a set of drivers that enable the use of the high-performance synthetic
devices (the equivalent of Xen's PV drivers). Maverick includes some of our drivers by default - hv_vmbus, hv_netvsc, and hv_utils. However, that version of the kernel has an bug in the hv_netvsc driver (and the underlying hv_vmbus driver) that results in
multiple issues - specifically, you'll see a number of errors in /var/log/messages referring to schedule while atomic. After a while, the synthetic networking device will end up losing its connection.


*

The issue's been fixed upstream as part of the cleanup we've been doing to exit staging, and we have created a patch set against Maverick that fixes it. The patch set consists of four patches:

*


1.******
Ubuntu-10-10-network-atomic-fix: Change the allocation of memory for the hv_netvsc driver from GFP_KERNEL to GFP_ATOMIC.


2.******
Ubuntu-10-10-network-stack-print-fix: A wrong check was done when freeing the network device, resulting in a stack trace output which seemed to erroneously indicate that there was a problem.


3.******
Ubuntu-10-10-vmbus-atomic-fix: Change the allocation of memory for the hv_vmbus driver from GFP_KERNEL to GFP_ATOMIC.


4.******
Ubuntu-10-10-backport-of-mainline-loss-of-network-fix-for-Hyper-V: Locking is required when tweaking bits located in a shared page, usethe sync_version of bitops. Without this change vmbus_on_event() will miss events and as a result,
vmbus_isr() will not schedule the receive tasklet.

*

This does not hit Natty, as we’ve fixed the issue in later kernels. However, given the large install base of Maverick, we’d like to get this included so customers can use the synthetic devices.

*

Symptoms:

*

[* 807.276091] BUG: scheduling while atomic: swapper/0/0x10000100


[ *807.277476] Modules linked in: parport_pc ppdev binfmt_misc hv_utils(C) hv_netvsc(C) psmouse lp serio_raw hv_vmbus(C) i2c_piix4 parport floppy tulip


[* 807.294414] Modules linked in: parport_pc ppdev binfmt_misc hv_utils(C) hv_netvsc(C) psmouse lp serio_raw hv_vmbus(C) i2c_piix4 parport floppy tulip


[* 807.337981] Pid: 0, comm: swapper Tainted: G***** D* C* 2.6.35-22-generic #33-Ubuntu Virtual Machine/Virtual Machine

[* 807.339352] EIP: 0060:[<c012c21a>] EFLAGS: 00000246 CPU: 0


[ *807.340699] EIP is at native_safe_halt+0xa/0x10

*

This has also been logged on Launchpad at *https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/752064

*

Please let me know if you have any questions on this.

*

Thanks,

*

-M

*

mike sterling
| program manager

open source technology center

http://www.microsoft.com/opensource/*




t:*+1 425 707 7730

f:* +1 425 708 1799

e:
mike.sterling@microsoft.com


t:**http://twitter.com/mikester01


*




--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Tim Gardner 04-07-2011 01:20 PM

Maverick on Hyper-V - fixes for instability
 
On 04/06/2011 11:53 AM, Mike Sterling wrote:

If a user wants to run Linux in a Hyper-V virtual machine (Hyper-V is
Microsoft's virtualization solution, included in Windows Server 2008
and higher), Microsoft provides a set of drivers that enable the use
of the high-performance synthetic devices (the equivalent of Xen's PV
drivers). Maverick includes some of our drivers by default -
hv_vmbus, hv_netvsc, and hv_utils. However, that version of the
kernel has an bug in the hv_netvsc driver (and the underlying
hv_vmbus driver) that results in multiple issues - specifically,
you'll see a number of errors in /var/log/messages referring to
schedule while atomic. After a while, the synthetic networking device
will end up losing its connection.



The issue's been fixed upstream as part of the cleanup we've been
doing to exit staging, and we have created a patch set against
Maverick that fixes it. The patch set consists of four patches:



1. Ubuntu-10-10-network-atomic-fix: Change the allocation of
memory for the hv_netvsc driver from GFP_KERNEL to GFP_ATOMIC.

2. Ubuntu-10-10-network-stack-print-fix: A wrong check was done
when freeing the network device, resulting in a stack trace output
which seemed to erroneously indicate that there was a problem.

3. Ubuntu-10-10-vmbus-atomic-fix: Change the allocation of
memory for the hv_vmbus driver from GFP_KERNEL to GFP_ATOMIC.

4.
Ubuntu-10-10-backport-of-mainline-loss-of-network-fix-for-Hyper-V:
Locking is required when tweaking bits located in a shared page,
usethe sync_version of bitops. Without this change vmbus_on_event()
will miss events and as a result, vmbus_isr() will not schedule the
receive tasklet.



This does not hit Natty, as we've fixed the issue in later kernels.
However, given the large install base of Maverick, we'd like to get
this included so customers can use the synthetic devices.



Symptoms:



[ 807.276091] BUG: scheduling while atomic: swapper/0/0x10000100

[ 807.277476] Modules linked in: parport_pc ppdev binfmt_misc
hv_utils(C) hv_netvsc(C) psmouse lp serio_raw hv_vmbus(C) i2c_piix4
parport floppy tulip

[ 807.294414] Modules linked in: parport_pc ppdev binfmt_misc
hv_utils(C) hv_netvsc(C) psmouse lp serio_raw hv_vmbus(C) i2c_piix4
parport floppy tulip

[ 807.337981] Pid: 0, comm: swapper Tainted: G D C
2.6.35-22-generic #33-Ubuntu Virtual Machine/Virtual Machine

[ 807.339352] EIP: 0060:[<c012c21a>] EFLAGS: 00000246 CPU: 0

[ 807.340699] EIP is at native_safe_halt+0xa/0x10


This has also been logged on Launchpad at
https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/752064


Please let me know if you have any questions on this.

Thanks,

-M

mike sterling | program manager open source technology center
http://www.microsoft.com/opensource/

t: +1 425 707 7730 f: +1 425 708 1799 e:
mike.sterling@microsoft.com<mailto:mike.sterling@m icrosoft.com> t:
http://twitter.com/mikester01





Mike - these patches look fine to me. I've package them as a pull request.

Brad/Steve - please review.

---
The following changes since commit 5ef5b0c54fdaf6c915a6585485fefb2e85462df9:
Manoj Iyer (1):
UBUNTU: SAUCE: (drop after 2.6.38) add support for Lenovo
tablet ID (0xE6)


are available in the git repository at:

git://kernel.ubuntu.com/rtg/ubuntu-maverick.git ms-lp752064

Haiyang Zhang (1):
staging: hv: Fix the WARN_ON condition in free_net_device()

Tim Gardner (2):
UBUNTU: SAUCE: staging: hv: Fixed issue with scheduling while
atomic in hv_vmbus

UBUNTU: SAUCE: Backport of mainline loss of network fix for Hyper-V

Timo Ters (1):
staging: hv: fix netvsc sleeping while atomic

drivers/staging/hv/channel.c | 8 ++++----
drivers/staging/hv/connection.c | 4 ++--
drivers/staging/hv/netvsc.c | 4 ++--
drivers/staging/hv/osd.c | 2 +-
drivers/staging/hv/vmbus.c | 2 +-
drivers/staging/hv/vmbus_private.h | 2 +-
6 files changed, 11 insertions(+), 11 deletions(-)
--
Tim Gardner tim.gardner@canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Brad Figg 04-07-2011 02:48 PM

Maverick on Hyper-V - fixes for instability
 
On 04/07/2011 06:20 AM, Tim Gardner wrote:

On 04/06/2011 11:53 AM, Mike Sterling wrote:

If a user wants to run Linux in a Hyper-V virtual machine (Hyper-V is
Microsoft's virtualization solution, included in Windows Server 2008
and higher), Microsoft provides a set of drivers that enable the use
of the high-performance synthetic devices (the equivalent of Xen's PV
drivers). Maverick includes some of our drivers by default -
hv_vmbus, hv_netvsc, and hv_utils. However, that version of the
kernel has an bug in the hv_netvsc driver (and the underlying
hv_vmbus driver) that results in multiple issues - specifically,
you'll see a number of errors in /var/log/messages referring to
schedule while atomic. After a while, the synthetic networking device
will end up losing its connection.



The issue's been fixed upstream as part of the cleanup we've been
doing to exit staging, and we have created a patch set against
Maverick that fixes it. The patch set consists of four patches:



1. Ubuntu-10-10-network-atomic-fix: Change the allocation of
memory for the hv_netvsc driver from GFP_KERNEL to GFP_ATOMIC.

2. Ubuntu-10-10-network-stack-print-fix: A wrong check was done
when freeing the network device, resulting in a stack trace output
which seemed to erroneously indicate that there was a problem.

3. Ubuntu-10-10-vmbus-atomic-fix: Change the allocation of
memory for the hv_vmbus driver from GFP_KERNEL to GFP_ATOMIC.

4.
Ubuntu-10-10-backport-of-mainline-loss-of-network-fix-for-Hyper-V:
Locking is required when tweaking bits located in a shared page,
usethe sync_version of bitops. Without this change vmbus_on_event()
will miss events and as a result, vmbus_isr() will not schedule the
receive tasklet.



This does not hit Natty, as we've fixed the issue in later kernels.
However, given the large install base of Maverick, we'd like to get
this included so customers can use the synthetic devices.



Symptoms:



[ 807.276091] BUG: scheduling while atomic: swapper/0/0x10000100

[ 807.277476] Modules linked in: parport_pc ppdev binfmt_misc
hv_utils(C) hv_netvsc(C) psmouse lp serio_raw hv_vmbus(C) i2c_piix4
parport floppy tulip

[ 807.294414] Modules linked in: parport_pc ppdev binfmt_misc
hv_utils(C) hv_netvsc(C) psmouse lp serio_raw hv_vmbus(C) i2c_piix4
parport floppy tulip

[ 807.337981] Pid: 0, comm: swapper Tainted: G D C
2.6.35-22-generic #33-Ubuntu Virtual Machine/Virtual Machine

[ 807.339352] EIP: 0060:[<c012c21a>] EFLAGS: 00000246 CPU: 0

[ 807.340699] EIP is at native_safe_halt+0xa/0x10


This has also been logged on Launchpad at
https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/752064


Please let me know if you have any questions on this.

Thanks,

-M

mike sterling | program manager open source technology center
http://www.microsoft.com/opensource/

t: +1 425 707 7730 f: +1 425 708 1799 e:
mike.sterling@microsoft.com<mailto:mike.sterling@m icrosoft.com> t:
http://twitter.com/mikester01





Mike - these patches look fine to me. I've package them as a pull request.

Brad/Steve - please review.

---
The following changes since commit 5ef5b0c54fdaf6c915a6585485fefb2e85462df9:
Manoj Iyer (1):
UBUNTU: SAUCE: (drop after 2.6.38) add support for Lenovo tablet ID (0xE6)

are available in the git repository at:

git://kernel.ubuntu.com/rtg/ubuntu-maverick.git ms-lp752064

Haiyang Zhang (1):
staging: hv: Fix the WARN_ON condition in free_net_device()

Tim Gardner (2):
UBUNTU: SAUCE: staging: hv: Fixed issue with scheduling while atomic in hv_vmbus
UBUNTU: SAUCE: Backport of mainline loss of network fix for Hyper-V

Timo Ters (1):
staging: hv: fix netvsc sleeping while atomic

drivers/staging/hv/channel.c | 8 ++++----
drivers/staging/hv/connection.c | 4 ++--
drivers/staging/hv/netvsc.c | 4 ++--
drivers/staging/hv/osd.c | 2 +-
drivers/staging/hv/vmbus.c | 2 +-
drivers/staging/hv/vmbus_private.h | 2 +-
6 files changed, 11 insertions(+), 11 deletions(-)


The patches look good to me, they are well contained and specific to the issues.
Plus it's all in staging.

We'll need to get the SRU justification text added but other than that ...

Acked-by: Brad Figg <brad.figg@canonical.com>

--
Brad Figg brad.figg@canonical.com http://www.canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Tim Gardner 04-07-2011 03:03 PM

Maverick on Hyper-V - fixes for instability
 
applied
--
Tim Gardner tim.gardner@canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Hank Janssen 04-07-2011 04:18 PM

Maverick on Hyper-V - fixes for instability
 
> -----Original Message-----
> From: Tim Gardner [mailto:tim.gardner@canonical.com]
> Sent: Thursday, April 07, 2011 8:04 AM
> To: Mike Sterling
> Cc: kernel-team@lists.ubuntu.com; Hank Janssen
> Subject: Re: Maverick on Hyper-V - fixes for instability
>
> applied
> --
> Tim Gardner tim.gardner@canonical.com


Thank you Tim,

What maintenance kernel will they show up in?

Do you want patches for the same functionality for 10.04 as well? The patches I created for 10.10 will not apply to 10.04.

Thanks,

Hank.

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Tim Gardner 04-07-2011 07:51 PM

Maverick on Hyper-V - fixes for instability
 
On 04/07/2011 10:18 AM, Hank Janssen wrote:



-----Original Message----- From: Tim Gardner
[mailto:tim.gardner@canonical.com] Sent: Thursday, April 07, 2011
8:04 AM To: Mike Sterling Cc: kernel-team@lists.ubuntu.com; Hank
Janssen Subject: Re: Maverick on Hyper-V - fixes for instability

applied -- Tim Gardner tim.gardner@canonical.com



Thank you Tim,

What maintenance kernel will they show up in?



The next Maverick kernel will be 2.6.35-29.51 or 2.6.35-30.51, depending
on if the ABI changes.



Do you want patches for the same functionality for 10.04 as well? The
patches I created for 10.10 will not apply to 10.04.



Sure, folks will be using Lucid longer then Maverick.

rtg
--
Tim Gardner tim.gardner@canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team


All times are GMT. The time now is 03:35 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.