On 04/23/2012 03:51 AM, Willy Lambert wrote: > Hi, > > I have a message in dmesg about SMI workaround : > Xenomai: SMI-enabled chipset found, but SMI workaround disabled > (check CONFIG_XENO_HW_SMI_WORKAROUND). You may encounter > high interrupt latencies! > > My kernel should be configured properly and following the "In case of > high latencies" of > http://www.xenomai.org/index.php/Configuring_x86_kernels thread, I did > some tests. > > Latency test is here (if it is us it should be ok no ?): > > RTT| 00:00:22 (periodic user-mode task, 100 us period, priority 99) > RTH|----lat min|----lat avg|----lat max|-overrun|---msw|---lat best|--lat > worst > RTD| 1.238| 1.365| 4.778| 0| 0| 0.605| > 9.414 > RTD| 1.238| 1.388| 5.292| 0| 0| 0.605| > 9.414 > RTD| 0.847| 1.365| 6.113| 0| 0| 0.605| > 9.414 > RTD| 1.238| 1.363| 4.676| 0| 0| 0.605| > 9.414 > RTD| 1.229| 1.365| 4.489| 0| 0| 0.605| > 9.414 > RTD| 1.237| 1.368| 4.194| 0| 0| 0.605| > 9.414 > RTD| 1.231| 1.386| 5.625| 0| 0| 0.605| > 9.414 > RTD| 0.681| 1.365| 6.020| 0| 0| 0.605| > 9.414 > RTD| 1.238| 1.365| 4.762| 0| 0| 0.605| > 9.414 > RTD| 1.165| 1.366| 6.987| 0| 0| 0.605| > 9.414 > RTD| 1.237| 1.364| 5.453| 0| 0| 0.605| > 9.414 > RTD| 1.093| 1.382| 5.567| 0| 0| 0.605| > 9.414 > RTD| 0.629| 1.365| 6.437| 0| 0| 0.605| > 9.414 > RTD| 1.236| 1.364| 4.584| 0| 0| 0.605| > 9.414 > RTD| 1.237| 1.366| 6.671| 0| 0| 0.605| > 9.414 > RTD| 1.238| 1.372| 4.436| 0| 0| 0.605| > 9.414 > RTD| 0.981| 1.384| 5.949| 0| 0| 0.605| > 9.414 > RTD| 0.626| 1.363| 5.844| 0| 0| 0.605| > 9.414 > RTD| 1.217| 1.364| 4.448| 0| 0| 0.605| > 9.414 > RTD| 1.237| 1.365| 4.451| 0| 0| 0.605| > 9.414 > RTD| 1.236| 1.368| 4.619| 0| 0| 0.605| > 9.414 > > So I did a lspci -nn | grep LPC which gives : > 00:1f.0 ISA bridge [0601]: Intel Corporation 82801HEM (ICH8M) LPC > Interface Controller [8086:2815] (rev 04) > > It is adviced to edit the ksrc/arch/x86/smi.c file. Is it still up to > date ? If yes could you help me to edit it ? I suppose it is this > section : > static struct pci_device_id rthal_smi_pci_tbl[] = { > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_10)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801E_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_1)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB2_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_1)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH8_4)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_1)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH9_5)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_1)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PCH_LPC_MIN+7)}, > {0,}, > }; > > I suppose I should add a line, with something from : pci_ids.h, but > it's not very clear to me which one to select.
If you see the messages, the ids for your chipset already are in the table. If you want to enabled the SMI workaround, simply enable it in the kernel configuration. -- Gilles. _______________________________________________ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help