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.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
04-07-2011, 01:20 PM
Tim Gardner
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
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)
--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
04-07-2011, 02:48 PM
Brad Figg
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
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)
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 Teräs (1):
staging: hv: fix netvsc sleeping while atomic
--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
04-07-2011, 03:03 PM
Tim Gardner
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
04-07-2011, 04:18 PM
Hank Janssen
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
04-07-2011, 07:51 PM
Tim Gardner
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