Comment 7 for bug 1274676

Revision history for this message
Stefan Bader (smb) wrote :

Hi Robert, it is possible, due to the non-linearity of git trees, that starting with the previously obtained range will not work. Especially as one of them if a merge. So unfortunately it might be necessary to do the bisect over the full tree from the start.
I suspect that the fix, although it results in the driver working or not, is rather in a different place. Could be mmu or pci. In fact there seem to be two patches between 3.5 and 3.8 that mention SR-IOV (and both are in the pci related parts):

commit c3cb4709809e655a4ba5a716086c8bc5bbbbccdb
Author: Jan Beulich <email address hidden>
Date: Tue Sep 18 12:29:03 2012 +0100

    xen-pciback: support wild cards in slot specifications

    Particularly for hiding sets of SR-IOV devices, specifying them all
    individually is rather cumbersome. Therefore, allow function and slot
    numbers to be replaced by a wildcard character ('*').

    Unfortunately this gets complicated by the in-kernel sscanf()
    implementation not being really standard conformant - matching of
    plain text tails cannot be checked by the caller (a patch to overcome
    this will be sent shortly, and a follow-up patch for simplifying the
    code is planned to be sent when that fixed went upstream).

    Signed-off-by: Jan Beulich <email address hidden>
    Signed-off-by: Konrad Rzeszutek Wilk <email address hidden>

commit 8a5248fe10b101104d92d01438f918e899414fd1
Author: Laszlo Ersek <email address hidden>
Date: Wed Oct 17 11:55:55 2012 +0200

    xen PV passthru: assign SR-IOV virtual functions to separate virtual slots

    VFs are reported as single-function devices in PCI_HEADER_TYPE, which
    causes pci_scan_slot() in the PV domU to skip all VFs beyond #0 in the
    pciback-provided slot. Avoid this by assigning each VF to a separate
    virtual slot.

    Acked-by: Jan Beulich <email address hidden>
    Signed-off-by: Laszlo Ersek <email address hidden>
    Signed-off-by: Konrad Rzeszutek Wilk <email address hidden>