From 9667351422dec0ca40a784a08dec7ce128482aba Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 10 Jul 2013 23:39:29 +0200 Subject: IRC. --- faq/sata_disk_drives/discussion.mdwn | 234 +++++++++++++++++++++++++++++++++++ 1 file changed, 234 insertions(+) create mode 100644 faq/sata_disk_drives/discussion.mdwn (limited to 'faq/sata_disk_drives/discussion.mdwn') diff --git a/faq/sata_disk_drives/discussion.mdwn b/faq/sata_disk_drives/discussion.mdwn new file mode 100644 index 00000000..3f063b77 --- /dev/null +++ b/faq/sata_disk_drives/discussion.mdwn @@ -0,0 +1,234 @@ +[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_gnumach]] + + +# IRC, freenode, #hurd, 2013-05-10 + + what code have you used if any (or is it your own implementation) + ? + I ended up writing my own implementation + eh :) + the libahci/ahci code from linux is full of linux-specific stuff + it would mean working on gluing that + which woudl rather be just done in block-dde + I was told at fosdem that ahci is not actually very difficult + and it isn't indeed + that's why i usually encourage to use netbsd code + + any chance using ahci might speed up our virtual machines ? + they are already using DMA, so probably no + (with the driver I've pushed) + adding support for tagged requests would permit to submit several + requests at a time + _that_ could improve it + (it would make it quite more complex too) + but not so much actually + + What about virtio? will it speed up? + probably not so much + because in the end it works the same + the guest writes the physical addresse in mapped memory + kvm performs the read into th epointed memory, triggers an irq + the guest takes the irq, marks as done, starts the next request, + etc. + most enhancements that virtio could bring can already be achieved + with ahci + one can probably go further with virtio, but doing it with ahci + will also benefit bare hardware + + http://en.wikipedia.org/wiki/AHCI + anatoly: aka SATA + some sort of general protocol to work with any SATA drive via + AHCI-compatible host controller? + yes + + braunr: I may be mistaken, but it does seem ahci is faster than ide + possibly because the ide driver is full of hardcoded wait loops + interesting :) + usleeps here and there + oh right + i wonder how they're actually implemented + so it would make sense to use that on shattrath + a nasty buggy busy-loop + yes but ending when ? + when a given number of loops have elapsed + that's where "buggy" applies :) + ok so buggy implies the loop isn't correctly calibrated + it isn't calibrated at all actually + ew + it was probably calibrated on some 486 or pentium hardware :) + yeah that's what i imagined too + we'll need some measurements but if it's actually true, it's even + better news + + +## IRC, freenode, #hurd, 2013-05-11 + + ah, also, worth mentioning: the AHCI driver supports up to 2TiB + disks + (as opposed to our IDE driver which supports only LBA28, 128GiB) + supporting more than 2TiB would require an RPC change, or using + bigger sectors + (which wouldn't be a bad idea anyway) + i think we should switch to uint64_t addressable vm_objects + which would allow to support large files too + braunr: yep + + +## IRC, freenode, #hurd, 2013-05-13 + + the hurd, running on vbox, with a sata controler :) + hum, problem with an extended partition + qemu/kbm doesn't have sata controller, am I right? + anatoly: recent versions might + http://wiki.qemu.org/Features/AHCI + www.linux-kvm.org/wiki/images/7/73/2011-forum-ahci.pdf + braunr: found first link, too. Thanx for the second one + + http://git.qemu.org/?p=qemu.git;a=blob;f=hw/ide/ahci.c;h=eab60961bd818c22cf819d85d0bd5485d3a17754;hb=HEAD + looks ok in recent versions + looks useful to have virtio drivers though + virtio is shown as fastest way for IO in the presentation + Hm, failed to run qemu with AHCI enabled + qemu 1.1 from debian testing + youpi how do run qemu with AHCI enabled? + + +## IRC, freenode, #hurd, 2013-05-14 + + can somebody ask youpi how he runs qemu with AHCI please? + I think he used vbox? Did not find any AHCI option for kvm + (1.1.2-+dfsg-6) + gnu_srs: http://wiki.qemu.org/ChangeLog/0.14#IDE_.2F_AHCI + but it doesn't work for me the same version of kvm + anatoly: have you checked how the debian package builds it ? + braunr: mach sees AHCI device + oh :) + the problem is in last option "-device + ide-drive,drive=disk,bus=ahci.0" + lvm says 'invalid option' + anatoly: can you give more details please ? + lvm ? + s/lvm/kvm + i don't understand + how can mach probe an ahci drive if you can't start kvm ? + I ran it without last option + then why do you want that option ? + But, actually I entered command with mistake. I retried it and it + works. But got "start ext2fs: ext2fs: device:hd0s2: No such device or + address" + Sorry for confusing + that's normal + it should be sd0s2 + Right because the device names are different + be aware that gnumach couln't see my extended partitions when i + tried that yesterday + i don't know what causes the problem + Yeah, I understand, I just note about it to show that it works + :) + And I was wring + s/wring/wrong + is that the version in wheezy ? + I'm using testing, but it's same + great + the sceen.net VMs will soon use that then + I don't have extended partions + Booted with AHCI! :-) + It freezes while downloading packages for build-essential + fake-root dependencies with AHCI enabled + anatoly: is the IRQ of the ahci controller the same as for your + ethernet device? (you can see that in lspci -v) + youpi: will check + youpi both uses IRQ 111 + s/111/11 + aw + anatoly: ok, that might be why + is this kvm? + if so, you can set up a second ahci controler + and attach devices to it + so the irq is not the same + basically, the issue is about dde disabling the irq + during interrupt handler + which conflicts with ahci driver needs + + +## IRC, freenode, #hurd, 2013-05-15 + + youpi: yes, it's kvm. Will try a second ahci controller + + I read recentrly was added ahci driver, is it in userland or + kernel-land? + kernel-land the change was in gnumach + + +## IRC, freenode, #hurd, 2013-05-18 + + about the IRQ conflict, it's simply that both dde and the ahci + driver need to disable it + it needs to be coherent somehow + + +## IRC, freenode, #hurd, 2013-05-20 + + gnu_srs: kvm -m 1G -drive + id=disk,file=,if=none,cache=writeback -device + ahci,id=ahci-1 -device ahci,id=ahci-2 -device + ide-drive,drive=disk,bus=ahci-2.0 + who knows what does "ich9-ahci.multifunction=on/off" parameter + for kvm's ahci device mean? + well, I was a bit incorrect :-) The options is relative to PCI + miltifunction devices + s/options is relative/options relates + + +## IRC, freenode, #hurd, 2013-05-24 + + I don't see freezes anymore while downloading packages with AHCI + enabled + anatoly: by fixing the shared IRQ ? + youpi: yes, I added second AHCI as you suggested + ok + so it's probably the shared IRQ issue + NIC and AHCI have similar IRQ when only one AHCI is enabled + according lspci output + yes + + +## IRC, freenode, #hurd, 2013-06-18 + + youpi: is there a simple way from hurd to check interrupts ? + what do you mean by "check interrupts" ? + if they're shared + I still don't understand :) + i'm setting up sata + ah, knowing the number + yes + you can read that from lspci -v + ok + thanks + hum + i get set root='hd-49,msdos1' in grub.cfg when changing the + device.map file to point to sd0 + hum + i wonder if it's necessary + i guess i just have to tell gnumach to look for sd0, not grub + youpi: the trick you mentioned was to add another controler, right + ? + yes + ok + youpi: looks fine :) + and yes, i left hd0 in grub's device.map + although i have lots of errors on hd0s6 (/home) + youpi: there must be a bug with large sizes + i'll stick with ide for now, but at least setting sata with + libvirt was quite easy to do + so we can easily switch later -- cgit v1.2.3