Re: [Xenomai-help] Smi workaround on ICH8M

2012-04-25 Thread Willy Lambert
2012/4/23 Gilles Chanteperdrix gilles.chanteperd...@xenomai.org:
 On 04/23/2012 01:05 PM, Willy Lambert wrote:
 2012/4/23 Philippe Gerum r...@xenomai.org:
 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 ?):


 Yes, this looks ok, but you need to run this test longer, and try a few
 usual suspects like plugging in/out USB devices while doing so (e.g. mouse,
 netdev).

 The point of this message is to tell you that your chipset is known to
 create latency issues in some cases (like most Intel chipset these days),
 but you did not enable the Xenomai code which works around such issues by
 shutting down problematic SMI sources. That may be right, or even required
 to leave all the SMI sources enabled (e.g. thermal control), but this might
 also lead to unacceptable latency spots. YMMV.

 This is basically a heads up message.

 --
 Philippe.

 Ok, thanks for answers.

 I did the test again , playing with usb and using the stress program
 to generate CPU load. The max latency for now is 15us in 4 mins. So I
 think it will be ok to keep SMI on for the time. Please let me know if
 this test is still stoo short.
 ^C---|---|---|---||--|-
 RTS|      0.604|      2.332|     15.161|       0|     0|    00:03:59/00:03:59

 Do you know by chance where I can found infos about SMI sources ? I
 suppose it is not in the ICH8M docs, it would be in my board doc ? Or
 have I a soft way to do this check so that I don't have to spend time
 with my vendor which will obviously have hard time to answer that ?

 The list of potential SMI sources IS in the ICH8M docs. Whether these
 sources are used by your board essentially depends on the BIOS
 implementation (an SMI traps into BIOS code). So the theoretical answer
 to this question is to disassemble the the BIOS blob.


ok, I think I won't do this for now as it's quite tricky, but I have
the path in mind in case of problem. Thx for lighting up the way

 The practical answer is to run latency during a few hours, under stress
 using all the hardware which will be used in your target project
 (network card, disk I/Os, USB key I/Os, etc...). If an SMI is used but
 latencies remain acceptable with regard to your goals, no reason to bother.

 If you find unacceptable latencies, see the TROUBLESHOOTING guide, to
 see how to enable SMI workaround.

 --
                                                                Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Smi workaround on ICH8M

2012-04-23 Thread Gilles Chanteperdrix
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


Re: [Xenomai-help] Smi workaround on ICH8M

2012-04-23 Thread Philippe Gerum

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 ?):



Yes, this looks ok, but you need to run this test longer, and try a few 
usual suspects like plugging in/out USB devices while doing so (e.g. 
mouse, netdev).


The point of this message is to tell you that your chipset is known to 
create latency issues in some cases (like most Intel chipset these 
days), but you did not enable the Xenomai code which works around such 
issues by shutting down problematic SMI sources. That may be right, or 
even required to leave all the SMI sources enabled (e.g. thermal 
control), but this might also lead to unacceptable latency spots. YMMV.


This is basically a heads up message.

--
Philippe.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Smi workaround on ICH8M

2012-04-23 Thread Willy Lambert
2012/4/23 Philippe Gerum r...@xenomai.org:
 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 ?):


 Yes, this looks ok, but you need to run this test longer, and try a few
 usual suspects like plugging in/out USB devices while doing so (e.g. mouse,
 netdev).

 The point of this message is to tell you that your chipset is known to
 create latency issues in some cases (like most Intel chipset these days),
 but you did not enable the Xenomai code which works around such issues by
 shutting down problematic SMI sources. That may be right, or even required
 to leave all the SMI sources enabled (e.g. thermal control), but this might
 also lead to unacceptable latency spots. YMMV.

 This is basically a heads up message.

 --
 Philippe.

Ok, thanks for answers.

I did the test again , playing with usb and using the stress program
to generate CPU load. The max latency for now is 15us in 4 mins. So I
think it will be ok to keep SMI on for the time. Please let me know if
this test is still stoo short.
^C---|---|---|---||--|-
RTS|  0.604|  2.332| 15.161|   0| 0|00:03:59/00:03:59

Do you know by chance where I can found infos about SMI sources ? I
suppose it is not in the ICH8M docs, it would be in my board doc ? Or
have I a soft way to do this check so that I don't have to spend time
with my vendor which will obviously have hard time to answer that ?

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Smi workaround on ICH8M

2012-04-23 Thread Willy Lambert
2012/4/23 Willy Lambert lambert.wi...@gmail.com:
 2012/4/23 Philippe Gerum r...@xenomai.org:
 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 ?):


 Yes, this looks ok, but you need to run this test longer, and try a few
 usual suspects like plugging in/out USB devices while doing so (e.g. mouse,
 netdev).

 The point of this message is to tell you that your chipset is known to
 create latency issues in some cases (like most Intel chipset these days),
 but you did not enable the Xenomai code which works around such issues by
 shutting down problematic SMI sources. That may be right, or even required
 to leave all the SMI sources enabled (e.g. thermal control), but this might
 also lead to unacceptable latency spots. YMMV.

 This is basically a heads up message.

 --
 Philippe.

 Ok, thanks for answers.

 I did the test again , playing with usb and using the stress program
 to generate CPU load. The max latency for now is 15us in 4 mins. So I
 think it will be ok to keep SMI on for the time. Please let me know if
 this test is still stoo short.
 ^C---|---|---|---||--|-
 RTS|      0.604|      2.332|     15.161|       0|     0|    00:03:59/00:03:59

 Do you know by chance where I can found infos about SMI sources ? I
 suppose it is not in the ICH8M docs, it would be in my board doc ? Or
 have I a soft way to do this check so that I don't have to spend time
 with my vendor which will obviously have hard time to answer that ?

Btw is there any way to test latencies without xenomai (or in
secondary mode) to compare ?

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Smi workaround on ICH8M

2012-04-23 Thread Gilles Chanteperdrix
On 04/23/2012 01:05 PM, Willy Lambert wrote:
 2012/4/23 Philippe Gerum r...@xenomai.org:
 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 ?):


 Yes, this looks ok, but you need to run this test longer, and try a few
 usual suspects like plugging in/out USB devices while doing so (e.g. mouse,
 netdev).

 The point of this message is to tell you that your chipset is known to
 create latency issues in some cases (like most Intel chipset these days),
 but you did not enable the Xenomai code which works around such issues by
 shutting down problematic SMI sources. That may be right, or even required
 to leave all the SMI sources enabled (e.g. thermal control), but this might
 also lead to unacceptable latency spots. YMMV.

 This is basically a heads up message.

 --
 Philippe.
 
 Ok, thanks for answers.
 
 I did the test again , playing with usb and using the stress program
 to generate CPU load. The max latency for now is 15us in 4 mins. So I
 think it will be ok to keep SMI on for the time. Please let me know if
 this test is still stoo short.
 ^C---|---|---|---||--|-
 RTS|  0.604|  2.332| 15.161|   0| 0|00:03:59/00:03:59
 
 Do you know by chance where I can found infos about SMI sources ? I
 suppose it is not in the ICH8M docs, it would be in my board doc ? Or
 have I a soft way to do this check so that I don't have to spend time
 with my vendor which will obviously have hard time to answer that ?

The list of potential SMI sources IS in the ICH8M docs. Whether these
sources are used by your board essentially depends on the BIOS
implementation (an SMI traps into BIOS code). So the theoretical answer
to this question is to disassemble the the BIOS blob.

The practical answer is to run latency during a few hours, under stress
using all the hardware which will be used in your target project
(network card, disk I/Os, USB key I/Os, etc...). If an SMI is used but
latencies remain acceptable with regard to your goals, no reason to bother.

If you find unacceptable latencies, see the TROUBLESHOOTING guide, to
see how to enable SMI workaround.

-- 
Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help