Prev: improve the performance of large sequential write NFS workloads
Next: a perf and some sched patches
From: Romain Kubany on 17 Dec 2009 04:10 Hello, We are using Microsoft Hyper-V Virtualization technology for some of our GNU/Linux guests and we recently discovered that the emulated hardware does not seem to support LBA48 adressing on IDE controller. After some tests, here are the results on a VM with a 200GB virtual disk : disk is detected as 214748MB up to kernel 2.6.27.41 and as 136899MB in 2.6.28 and up. The two kernels (2.6.27.41 and 2.6.28) were compiled with approximatively the same parameters (just an oldconfig between them, I'll paste a line to their respective config at the end of the mail) except that many changes occured in IDE management between 2.6.27 and 2.6.28 series of the kernel so it is possible that the problem is coming from a misconfiguration on our side (in which case I'll present you my truthful apologies for making you waste your time). Here are some useful informations (I think) for start : [On the "working" kernel, 2.6.27.41 w/ 200GB recognized vdisk] # hdparm -I /dev/hda /dev/hda: ATA device, with non-removable media Model Number: Virtual HD Serial Number: Firmware Revision: 1.1.0 Standards: Likely used: 2 Configuration: Logical max current cylinders 16383 65535 heads 16 16 sectors/track 63 255 -- bytes/track: 65024 bytes/sector: 512 CHS current addressable sectors: 267382800 LBA user addressable sectors: 267382800 device size with M = 1024*1024: 130558 MBytes device size with M = 1000*1000: 136899 MBytes (136 GB) Capabilities: LBA, IORDY(can be disabled) Buffer size: 64.0kB Standby timer values: spec'd by Vendor R/W multiple sector transfer: Max = 128 Current = 128 DMA: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=333ns IORDY flow control=120ns ------------------------------------------------------------------------- # fdisk -l Disk /dev/hda: 214.7 GB, 214748364800 bytes 16 heads, 63 sectors/track, 416101 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Disk identifier: 0xd7267427 Device Boot Start End Blocks Id System /dev/hda1 * 1 204 102815+ 83 Linux /dev/hda2 205 2236 1024128 82 Linux swap / Solaris /dev/hda3 2237 20805 9358776 83 Linux ------------------------------------------------------------------------- (some dmesg lines, I'll provide more if necessary) [ 0.580031] piix 0000:00:07.1: IDE controller (0x8086:0x7111 rev 0x01) [ 0.580031] piix 0000:00:07.1: not 100% native mode: will probe irqs later [ 0.580031] ide0: BM-DMA at 0xffa0-0xffa7 [ 0.584031] ide1: BM-DMA at 0xffa8-0xffaf [ 0.584031] Probing IDE interface ide0... [ 0.908031] hda: Virtual HD, ATA DISK drive [ 1.632031] hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4 [ 1.632031] hda: MWDMA2 mode selected [ 1.636031] Probing IDE interface ide1... [ 2.424031] hdc: Virtual CD, ATAPI CD/DVD-ROM drive [ 3.148031] hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO2 [ 3.148031] hdc: MWDMA2 mode selected [ 3.148031] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 [ 3.156031] isa bounce pool size: 16 pages [ 3.156031] ide1 at 0x170-0x177,0x376 on irq 15 [ 3.164031] ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports [ 3.164031] ide_generic: I/O resource 0x1F0-0x1F7 not free. [ 3.164031] ide_generic: I/O resource 0x170-0x177 not free. [ 3.168031] hda: max request size: 512KiB [ 3.168031] hda: 419430400 sectors (214748 MB) w/64KiB Cache, CHS=26108/255/63 [ 3.176031] hda: hda1 hda2 hda3 [ 3.196031] Driver 'sd' needs updating - please use bus_type methods ------------------------------------------------------------------------- [On the "non-working" kernel, 2.6.28 w/ 136GB recognized vdisk] # hdparm -I /dev/hda /dev/hda: ATA device, with non-removable media Model Number: Virtual HD Serial Number: Firmware Revision: 1.1.0 Standards: Likely used: 2 Configuration: Logical max current cylinders 16383 65535 heads 16 16 sectors/track 63 255 -- bytes/track: 65024 bytes/sector: 512 CHS current addressable sectors: 267382800 LBA user addressable sectors: 267382800 device size with M = 1024*1024: 130558 MBytes device size with M = 1000*1000: 136899 MBytes (136 GB) Capabilities: LBA, IORDY(can be disabled) Buffer size: 64.0kB Standby timer values: spec'd by Vendor R/W multiple sector transfer: Max = 128 Current = 128 DMA: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=333ns IORDY flow control=120ns ------------------------------------------------------------------------- # fdisk -l Disk /dev/hda: 136.8 GB, 136899993600 bytes 16 heads, 63 sectors/track, 265260 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Disk identifier: 0xd7267427 Device Boot Start End Blocks Id System /dev/hda1 * 1 204 102815+ 83 Linux /dev/hda2 205 2236 1024128 82 Linux swap / Solaris /dev/hda3 2237 20805 9358776 83 Linux ------------------------------------------------------------------------- [ 0.768002] piix 0000:00:07.1: IDE controller (0x8086:0x7111 rev 0x01) [ 0.772002] piix 0000:00:07.1: not 100% native mode: will probe irqs later [ 0.772002] ide0: BM-DMA at 0xffa0-0xffa7 [ 0.776002] ide1: BM-DMA at 0xffa8-0xffaf [ 0.780002] Probing IDE interface ide0... [ 1.068002] hda: Virtual HD, ATA DISK drive [ 1.744004] hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4 [ 1.744004] hda: MWDMA2 mode selected [ 1.744004] Probing IDE interface ide1... [ 2.480005] hdc: Virtual CD, ATAPI CD/DVD-ROM drive [ 3.156006] hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO2 [ 3.156006] hdc: MWDMA2 mode selected [ 3.164006] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 [ 3.172006] isa bounce pool size: 16 pages [ 3.176006] ide1 at 0x170-0x177,0x376 on irq 15 [ 3.180006] ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports [ 3.180006] ide-gd driver 1.18 [ 3.184006] hda: max request size: 128KiB [ 3.184006] hda: 267382800 sectors (136899 MB) w/64KiB Cache, CHS=65535/16/63 [ 3.188006] hda: hda1 hda2 hda3 [ 3.208006] Driver 'sd' needs updating - please use bus_type methods ------------------------------------------------------------------------- As you can see, the "max request size" and number of sectors differ from one kernel to another. Here, you can find the config used for our 2.6.27.41 kernel : http://pastebin.com/f6cf213f8 And here, the one for the 2.6.28 : http://pastebin.com/f7b687511 For conclusion, here is a lspci -vv (identical under both kernels) : http://pastebin.com/f11b553d4 Maybe it's not a bug, I hope I'm wrong and it's because I forgot an option in menuconfig but I think I've enabled everything that could be related so... any idea ? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Mikael Pettersson on 17 Dec 2009 04:30 Romain Kubany writes: > Hello, > > We are using Microsoft Hyper-V Virtualization technology for some of our GNU/Linux guests and we recently discovered > that the emulated hardware does not seem to support LBA48 adressing on IDE controller. > > After some tests, here are the results on a VM with a 200GB virtual disk : disk is detected as 214748MB up to kernel 2.6.27.41 and as 136899MB in 2.6.28 and up. > > The two kernels (2.6.27.41 and 2.6.28) were compiled with approximatively the same parameters (just an oldconfig between them, I'll paste a line to their respective config at the end of the mail) > except that many changes occured in IDE management between 2.6.27 and 2.6.28 series of the kernel so it is possible that the problem is coming from a misconfiguration on our side (in which case I'll present you my truthful apologies for making you waste your time). > > Here are some useful informations (I think) for start : > > [On the "working" kernel, 2.6.27.41 w/ 200GB recognized vdisk] > > # hdparm -I /dev/hda Try using libata and ata_piix instead of the old IDE drivers, but be aware that the disk will show up as /dev/sda not /dev/hda. Also, IDE/ATA-related issues should be cc:d to linux-ide (see MAINTAINERS). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Romain Kubany on 17 Dec 2009 05:10 Ok, thanks for the prompt reply and the notice for the cc: :) I'm using libata and ata_piix now. My disk is seen as "sda" and a lshw is reporting the controler as using "ata_piix" : # lshw -c STORAGE *-ide description: IDE interface product: 82371AB/EB/MB PIIX4 IDE vendor: Intel Corporation physical id: 7.1 bus info: pci(a)0000:00:07.1 logical name: scsi0 logical name: scsi1 version: 01 width: 32 bits clock: 33MHz capabilities: ide bus_master emulated configuration: driver=ata_piix latency=0 But fdisk always recognize the disk as 136.8Gb : # fdisk -l Disk /dev/sda: 136.8 GB, 136899993600 bytes 16 heads, 63 sectors/track, 265260 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Disk identifier: 0xd7267427 Device Boot Start End Blocks Id System /dev/sda1 * 1 204 102815+ 83 Linux /dev/sda2 205 2236 1024128 82 Linux swap / Solaris /dev/sda3 2237 20805 9358776 83 Linux Here is the new kernel config file : http://pastebin.com/f65fd472b -----Message d'origine----- De�: linux-kernel-owner(a)vger.kernel.org [mailto:linux-kernel-owner(a)vger.kernel.org] De la part de Mikael Pettersson Envoy�: jeudi 17 d�cembre 2009 10:28 ��: Romain Kubany Cc�: linux-kernel(a)vger.kernel.org Objet�: Re: Possible regression of LBA48 support for piix Romain Kubany writes: > Hello, > > We are using Microsoft Hyper-V Virtualization technology for some of our GNU/Linux guests and we recently discovered > that the emulated hardware does not seem to support LBA48 adressing on IDE controller. > > After some tests, here are the results on a VM with a 200GB virtual disk : disk is detected as 214748MB up to kernel 2.6.27.41 and as 136899MB in 2.6.28 and up. > > The two kernels (2.6.27.41 and 2.6.28) were compiled with approximatively the same parameters (just an oldconfig between them, I'll paste a line to their respective config at the end of the mail) > except that many changes occured in IDE management between 2.6.27 and 2.6.28 series of the kernel so it is possible that the problem is coming from a misconfiguration on our side (in which case I'll present you my truthful apologies for making you waste your time). > > Here are some useful informations (I think) for start : > > [On the "working" kernel, 2.6.27.41 w/ 200GB recognized vdisk] > > # hdparm -I /dev/hda Try using libata and ata_piix instead of the old IDE drivers, but be aware that the disk will show up as /dev/sda not /dev/hda. Also, IDE/ATA-related issues should be cc:d to linux-ide (see MAINTAINERS). -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Jeff Garzik on 17 Dec 2009 06:10 On 12/17/2009 05:04 AM, Romain Kubany wrote: > Ok, thanks for the prompt reply and the notice for the cc: :) > I'm using libata and ata_piix now. > My disk is seen as "sda" and a lshw is reporting the controler as using "ata_piix" : > > # lshw -c STORAGE > *-ide > description: IDE interface > product: 82371AB/EB/MB PIIX4 IDE > vendor: Intel Corporation > physical id: 7.1 > bus info: pci(a)0000:00:07.1 > logical name: scsi0 > logical name: scsi1 > version: 01 > width: 32 bits > clock: 33MHz > capabilities: ide bus_master emulated > configuration: driver=ata_piix latency=0 > > But fdisk always recognize the disk as 136.8Gb : > > # fdisk -l > > Disk /dev/sda: 136.8 GB, 136899993600 bytes > 16 heads, 63 sectors/track, 265260 cylinders > Units = cylinders of 1008 * 512 = 516096 bytes > Disk identifier: 0xd7267427 > > Device Boot Start End Blocks Id System > /dev/sda1 * 1 204 102815+ 83 Linux > /dev/sda2 205 2236 1024128 82 Linux swap / Solaris > /dev/sda3 2237 20805 9358776 83 Linux > > Here is the new kernel config file : http://pastebin.com/f65fd472b I would definitely be interested in seeing the 'dmesg' output for libata, and results from a more recent kernel. Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Romain Kubany on 17 Dec 2009 06:40 Thanks for your concern. :) Here is the full dmesg output : http://pastebin.com/f484004a5 (2.6.28 with same config as in my previous mail) I'm going to test a 2.6.32.1 kernel and similar config -----Message d'origine----- De�: linux-kernel-owner(a)vger.kernel.org [mailto:linux-kernel-owner(a)vger.kernel.org] De la part de Jeff Garzik Envoy�: jeudi 17 d�cembre 2009 12:04 ��: Romain Kubany Cc�: Mikael Pettersson; linux-kernel(a)vger.kernel.org; linux-ide(a)vger.kernel.org Objet�: Re: Possible regression of LBA48 support for piix On 12/17/2009 05:04 AM, Romain Kubany wrote: > Ok, thanks for the prompt reply and the notice for the cc: :) > I'm using libata and ata_piix now. > My disk is seen as "sda" and a lshw is reporting the controler as using "ata_piix" : > > # lshw -c STORAGE > *-ide > description: IDE interface > product: 82371AB/EB/MB PIIX4 IDE > vendor: Intel Corporation > physical id: 7.1 > bus info: pci(a)0000:00:07.1 > logical name: scsi0 > logical name: scsi1 > version: 01 > width: 32 bits > clock: 33MHz > capabilities: ide bus_master emulated > configuration: driver=ata_piix latency=0 > > But fdisk always recognize the disk as 136.8Gb : > > # fdisk -l > > Disk /dev/sda: 136.8 GB, 136899993600 bytes > 16 heads, 63 sectors/track, 265260 cylinders > Units = cylinders of 1008 * 512 = 516096 bytes > Disk identifier: 0xd7267427 > > Device Boot Start End Blocks Id System > /dev/sda1 * 1 204 102815+ 83 Linux > /dev/sda2 205 2236 1024128 82 Linux swap / Solaris > /dev/sda3 2237 20805 9358776 83 Linux > > Here is the new kernel config file : http://pastebin.com/f65fd472b I would definitely be interested in seeing the 'dmesg' output for libata, and results from a more recent kernel. Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Next
|
Last
Pages: 1 2 3 Prev: improve the performance of large sequential write NFS workloads Next: a perf and some sched patches |