Creating a bootable ZFS disk?

Dr Josef Karthauser
Sat, 24 Jan 2015 20:09:47 -0000

> On 1 Jan 2015, at 19:28, Steven Hartland <killing at multiplay.co.uk>
wrote:
>
> On 01/01/2015 17:18, Dr Josef Karthauser wrote:
>> On 30 Dec 2014, at 16:34, Steven Hartland <killing at
multiplay.co.uk> wrote:
>>> This is strengthened by the fact that ATI's previous generation
HW (SB600) had MSI disabled by r245875 due to a very similar issue.
>>>
>>> So given all the evidence so far ahci.0.msi=1 may well be the fix.
>>>
>> Is there any benefit to also trying with mdi > 1 < 8?
> Nope as the ahci(4) details there's only 3 settings:
> 0 = MSI disabled
> 1 = Single MSI vector used, if supported
> 2 = Multiple MSI vectors used, if supported (default)
>
> If setting it to 1 does fix it, I've got a patch which provides a quirk
we can use to make that the default for this HW.

Finally got the machine into a state I can test it - sorry for the delay.

I?ve set it in boot.loader:

    $ cat /boot/loader.conf
    zfs_load=?YES"
    ahci.0.msi=1

However, it?s still allocating all 8 vectors:

    $ dmesg | grep MSI
    [cut]
    ahci0: attempting to allocate 8 MSI vectors (8 supported)
    msi: routing MSI IRQ 263 to local APIC 0 vector 64
    msi: routing MSI IRQ 264 to local APIC 0 vector 65
    msi: routing MSI IRQ 265 to local APIC 0 vector 66
    msi: routing MSI IRQ 266 to local APIC 0 vector 67
    msi: routing MSI IRQ 267 to local APIC 0 vector 68
    msi: routing MSI IRQ 268 to local APIC 0 vector 69
    msi: routing MSI IRQ 269 to local APIC 0 vector 70
    msi: routing MSI IRQ 270 to local APIC 0 vector 71
    ahci0: using IRQs 263-270 for MSI
    [cut]

This is with:

    $ uname -a
    FreeBSD my.machine.and.domain 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401:
Tue Nov 11 21:02:49 UTC 2014     root at
releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

So, that?s confusing - I was expecting it to only route a single vector.

That sysctl isn?t exposed as a read variable:

    $ sysctl -a | grep ahci.0
    dev.ahci.0.%desc: AMD SB7x0/SB8x0/SB9x0 AHCI SATA controller
    dev.ahci.0.%driver: ahci
    dev.ahci.0.%location: slot=17 function=0 handle=\_SB_.PCI0.SATA
    dev.ahci.0.%pnpinfo: vendor=0x1002 device=0x4391 subvendor=0x103c
subdevice=0x1609 class=0x010601
    dev.ahci.0.%parent: pci0

Is it only in -current perchance?

Thanks,
Joe