[[!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? [[open_issues/virtio]]. 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 [[open_issues/virtio]]. 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