All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
@ 2007-03-13 10:52 Wolfgang Grandegger
  2007-03-13 13:16 ` [Xenomai-help] " Roland Tollenaar
  0 siblings, 1 reply; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-13 10:52 UTC (permalink / raw)
  To: xenomai-help

[-- Attachment #1: Type: text/plain, Size: 831 bytes --]

Hallo,

in the meantime I have measured the latencies introduced through 
messages sent and received by RT-Socket-CAN. The SJA1000 register access 
times on my rather old PC with an Athlon 1100 Mhz are:

PEAK-Dongle: read  access: 11807 ns
PEAK-Dongle: write access: 11677 ns

IXXAT-PCI  : read  access:   729 ns
IXXAT-PCI  : write access:   305 ns

I measured an increase of the latency of approx. 170us with the 
PEAK-Dongle and approx 13us with the IXXAT-PCI card for the reception of 
a full CAN message (with 8 bytes payload). Sending messages is a bit 
less disturbing. I have attached a small patch to measure the SJA1000 
register access times when the driver is initialized. You are welcome to 
apply it on your setup and report the results. I'm especially interested 
in numbers for the ISA bus (or PC-104).

Wolfgang.



[-- Attachment #2: xenomai-rtcan-iotest.patch --]
[-- Type: text/x-patch, Size: 1278 bytes --]

+ diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST xenomai/ksrc/drivers/can/rtcan_dev.c
+ diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
--- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST	2007-02-26 09:17:27.000000000 +0100
+++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c	2007-03-13 10:01:47.000000000 +0100
@@ -728,6 +728,30 @@
     if (chip == NULL)
 	return -EINVAL;
 
+#if 1
+    {
+	nanosecs_abs_t begin, diff;
+	volatile u8 reg;
+	int i, count = 100000;
+	begin = rtdm_clock_read();
+	for (i = 0; i < count; i++) {
+	    reg = chip->read_reg(dev, 0);
+	}
+	diff = rtdm_clock_read() - begin;
+	printk("%s: register read time for %d accessed: %ld (%ld per access)\n",
+	       dev->board_name, count,
+	       (unsigned long)diff, (unsigned long)diff / count);
+	begin = rtdm_clock_read();
+	for (i = 0; i < count; i++) {
+		chip->write_reg(dev, 0, reg);
+	}
+	diff = rtdm_clock_read() - begin;
+	printk("%s: register write time for %d accessed: %ld (%ld per access)\n",
+	       dev->board_name, count,
+	       (unsigned long)diff, (unsigned long)diff / count);
+    }
+#endif
+
     /* Set dummy state for following call */
     dev->state = CAN_STATE_ACTIVE;
     /* Enter reset mode */

^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-13 10:52 [Xenomai-help] Latencies due to RT-Socket-CAN register accesses Wolfgang Grandegger
@ 2007-03-13 13:16 ` Roland Tollenaar
  2007-03-13 13:29   ` Wolfgang Grandegger
  0 siblings, 1 reply; 34+ messages in thread
From: Roland Tollenaar @ 2007-03-13 13:16 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-help

Hi Wolfgang,

Well these are convincing figures. Could you let me know what card (type 
number) you ran the tests on so that I am not unpleasantly surprised 
when I finally go to PCI.

I will continue development on my laptop with the dongle for the time 
being. It would be interesting to see what happens to the latency after 
your proposed changes are in effect.

Thanks,

Roland



Wolfgang Grandegger wrote:
> Hallo,
> 
> in the meantime I have measured the latencies introduced through 
> messages sent and received by RT-Socket-CAN. The SJA1000 register access 
> times on my rather old PC with an Athlon 1100 Mhz are:
> 
> PEAK-Dongle: read  access: 11807 ns
> PEAK-Dongle: write access: 11677 ns
> 
> IXXAT-PCI  : read  access:   729 ns
> IXXAT-PCI  : write access:   305 ns
> 
> I measured an increase of the latency of approx. 170us with the 
> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the reception of 
> a full CAN message (with 8 bytes payload). Sending messages is a bit 
> less disturbing. I have attached a small patch to measure the SJA1000 
> register access times when the driver is initialized. You are welcome to 
> apply it on your setup and report the results. I'm especially interested 
> in numbers for the ISA bus (or PC-104).
> 
> Wolfgang.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST xenomai/ksrc/drivers/can/rtcan_dev.c
> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST	2007-02-26 09:17:27.000000000 +0100
> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c	2007-03-13 10:01:47.000000000 +0100
> @@ -728,6 +728,30 @@
>      if (chip == NULL)
>  	return -EINVAL;
>  
> +#if 1
> +    {
> +	nanosecs_abs_t begin, diff;
> +	volatile u8 reg;
> +	int i, count = 100000;
> +	begin = rtdm_clock_read();
> +	for (i = 0; i < count; i++) {
> +	    reg = chip->read_reg(dev, 0);
> +	}
> +	diff = rtdm_clock_read() - begin;
> +	printk("%s: register read time for %d accessed: %ld (%ld per access)\n",
> +	       dev->board_name, count,
> +	       (unsigned long)diff, (unsigned long)diff / count);
> +	begin = rtdm_clock_read();
> +	for (i = 0; i < count; i++) {
> +		chip->write_reg(dev, 0, reg);
> +	}
> +	diff = rtdm_clock_read() - begin;
> +	printk("%s: register write time for %d accessed: %ld (%ld per access)\n",
> +	       dev->board_name, count,
> +	       (unsigned long)diff, (unsigned long)diff / count);
> +    }
> +#endif
> +
>      /* Set dummy state for following call */
>      dev->state = CAN_STATE_ACTIVE;
>      /* Enter reset mode */


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-13 13:16 ` [Xenomai-help] " Roland Tollenaar
@ 2007-03-13 13:29   ` Wolfgang Grandegger
  2007-03-13 13:41     ` Roland Tollenaar
  0 siblings, 1 reply; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-13 13:29 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: xenomai-help

Hi Roland,

Roland Tollenaar wrote:
> Hi Wolfgang,
> 
> Well these are convincing figures. Could you let me know what card (type 
> number) you ran the tests on so that I am not unpleasantly surprised 
> when I finally go to PCI.

It was the IXXAT PCI card currently plugged into my test PC but I 
actually recommand the PEAK PCI card. It's also much cheaper, I guess. 
Tomorrow I'm going to repeat the tests with this card ... stay tuned.

> I will continue development on my laptop with the dongle for the time 
> being. It would be interesting to see what happens to the latency after 
> your proposed changes are in effect.

BTW, what are the latencies you measure on your system under load 
(without RT-Socket-CAN).

Wolfgang.

> Thanks,
> 
> Roland
> 
> 
> 
> Wolfgang Grandegger wrote:
>> Hallo,
>>
>> in the meantime I have measured the latencies introduced through 
>> messages sent and received by RT-Socket-CAN. The SJA1000 register 
>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>
>> PEAK-Dongle: read  access: 11807 ns
>> PEAK-Dongle: write access: 11677 ns
>>
>> IXXAT-PCI  : read  access:   729 ns
>> IXXAT-PCI  : write access:   305 ns
>>
>> I measured an increase of the latency of approx. 170us with the 
>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the reception 
>> of a full CAN message (with 8 bytes payload). Sending messages is a 
>> bit less disturbing. I have attached a small patch to measure the 
>> SJA1000 register access times when the driver is initialized. You are 
>> welcome to apply it on your setup and report the results. I'm 
>> especially interested in numbers for the ISA bus (or PC-104).
>>
>> Wolfgang.
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST 
>> xenomai/ksrc/drivers/can/rtcan_dev.c
>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST 
>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST    
>> 2007-02-26 09:17:27.000000000 +0100
>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13 
>> 10:01:47.000000000 +0100
>> @@ -728,6 +728,30 @@
>>      if (chip == NULL)
>>      return -EINVAL;
>>  
>> +#if 1
>> +    {
>> +    nanosecs_abs_t begin, diff;
>> +    volatile u8 reg;
>> +    int i, count = 100000;
>> +    begin = rtdm_clock_read();
>> +    for (i = 0; i < count; i++) {
>> +        reg = chip->read_reg(dev, 0);
>> +    }
>> +    diff = rtdm_clock_read() - begin;
>> +    printk("%s: register read time for %d accessed: %ld (%ld per 
>> access)\n",
>> +           dev->board_name, count,
>> +           (unsigned long)diff, (unsigned long)diff / count);
>> +    begin = rtdm_clock_read();
>> +    for (i = 0; i < count; i++) {
>> +        chip->write_reg(dev, 0, reg);
>> +    }
>> +    diff = rtdm_clock_read() - begin;
>> +    printk("%s: register write time for %d accessed: %ld (%ld per 
>> access)\n",
>> +           dev->board_name, count,
>> +           (unsigned long)diff, (unsigned long)diff / count);
>> +    }
>> +#endif
>> +
>>      /* Set dummy state for following call */
>>      dev->state = CAN_STATE_ACTIVE;
>>      /* Enter reset mode */
> 
> 



^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-13 13:29   ` Wolfgang Grandegger
@ 2007-03-13 13:41     ` Roland Tollenaar
  2007-03-13 14:06       ` Wolfgang Grandegger
                         ` (2 more replies)
  0 siblings, 3 replies; 34+ messages in thread
From: Roland Tollenaar @ 2007-03-13 13:41 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-help

HI Wolfgang,

> It was the IXXAT PCI card currently plugged into my test PC but I 
> actually recommand the PEAK PCI card. It's also much cheaper, I guess. 
> Tomorrow I'm going to repeat the tests with this card ... stay tuned.
Clear. Thanks for the advice.

> 
>> I will continue development on my laptop with the dongle for the time 
>> being. It would be interesting to see what happens to the latency 
>> after your proposed changes are in effect.
> 
> BTW, what are the latencies you measure on your system under load 
> (without RT-Socket-CAN).
Off the top of my head 25us average 30us to 35us max. I am not sure I am 
"loading" the system though. How do I measure this load that is always 
talked about?

Roland


> 
> Wolfgang.
> 
>> Thanks,
>>
>> Roland
>>
>>
>>
>> Wolfgang Grandegger wrote:
>>> Hallo,
>>>
>>> in the meantime I have measured the latencies introduced through 
>>> messages sent and received by RT-Socket-CAN. The SJA1000 register 
>>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>>
>>> PEAK-Dongle: read  access: 11807 ns
>>> PEAK-Dongle: write access: 11677 ns
>>>
>>> IXXAT-PCI  : read  access:   729 ns
>>> IXXAT-PCI  : write access:   305 ns
>>>
>>> I measured an increase of the latency of approx. 170us with the 
>>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the reception 
>>> of a full CAN message (with 8 bytes payload). Sending messages is a 
>>> bit less disturbing. I have attached a small patch to measure the 
>>> SJA1000 register access times when the driver is initialized. You are 
>>> welcome to apply it on your setup and report the results. I'm 
>>> especially interested in numbers for the ISA bus (or PC-104).
>>>
>>> Wolfgang.
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST 
>>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST 
>>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST    
>>> 2007-02-26 09:17:27.000000000 +0100
>>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13 
>>> 10:01:47.000000000 +0100
>>> @@ -728,6 +728,30 @@
>>>      if (chip == NULL)
>>>      return -EINVAL;
>>>  
>>> +#if 1
>>> +    {
>>> +    nanosecs_abs_t begin, diff;
>>> +    volatile u8 reg;
>>> +    int i, count = 100000;
>>> +    begin = rtdm_clock_read();
>>> +    for (i = 0; i < count; i++) {
>>> +        reg = chip->read_reg(dev, 0);
>>> +    }
>>> +    diff = rtdm_clock_read() - begin;
>>> +    printk("%s: register read time for %d accessed: %ld (%ld per 
>>> access)\n",
>>> +           dev->board_name, count,
>>> +           (unsigned long)diff, (unsigned long)diff / count);
>>> +    begin = rtdm_clock_read();
>>> +    for (i = 0; i < count; i++) {
>>> +        chip->write_reg(dev, 0, reg);
>>> +    }
>>> +    diff = rtdm_clock_read() - begin;
>>> +    printk("%s: register write time for %d accessed: %ld (%ld per 
>>> access)\n",
>>> +           dev->board_name, count,
>>> +           (unsigned long)diff, (unsigned long)diff / count);
>>> +    }
>>> +#endif
>>> +
>>>      /* Set dummy state for following call */
>>>      dev->state = CAN_STATE_ACTIVE;
>>>      /* Enter reset mode */
>>
>>
> 
> 


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-13 13:41     ` Roland Tollenaar
@ 2007-03-13 14:06       ` Wolfgang Grandegger
  2007-03-14  9:33       ` Wolfgang Grandegger
  2007-03-28 17:05       ` roland Tollenaar
  2 siblings, 0 replies; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-13 14:06 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: xenomai-help

Roland Tollenaar wrote:
> HI Wolfgang,
> 
>> It was the IXXAT PCI card currently plugged into my test PC but I 
>> actually recommand the PEAK PCI card. It's also much cheaper, I guess. 
>> Tomorrow I'm going to repeat the tests with this card ... stay tuned.
> Clear. Thanks for the advice.
> 
>>
>>> I will continue development on my laptop with the dongle for the time 
>>> being. It would be interesting to see what happens to the latency 
>>> after your proposed changes are in effect.
>>
>> BTW, what are the latencies you measure on your system under load 
>> (without RT-Socket-CAN).
> Off the top of my head 25us average 30us to 35us max. I am not sure I am 
> "loading" the system though. How do I measure this load that is always 
> talked about?

While the latency test is running execute in other windows:

- while ls; do ls; done
- ping -f <remote-host>"
- dd if=/dev/zero of=/dev/null

and let it run for a few hours. And also search the file TROUBLESHOOTING 
for "stress".

Wolfgang.


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-13 13:41     ` Roland Tollenaar
  2007-03-13 14:06       ` Wolfgang Grandegger
@ 2007-03-14  9:33       ` Wolfgang Grandegger
  2007-03-28 17:05       ` roland Tollenaar
  2 siblings, 0 replies; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-14  9:33 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: xenomai-help

Roland Tollenaar wrote:
> HI Wolfgang,
> 
>> It was the IXXAT PCI card currently plugged into my test PC but I 
>> actually recommand the PEAK PCI card. It's also much cheaper, I guess. 
>> Tomorrow I'm going to repeat the tests with this card ... stay tuned.
> Clear. Thanks for the advice.

Here is a revised list of the register access times:

PEAK-Dongle: register read : 11705ns (  85428/sec)
PEAK-Dongle: register write: 11687ns (  85562/sec)

IXXAT-PCI  : register read :   725ns (1378643/sec)
IXXAT-PCI  : register write:   301ns (3311667/sec)

PEAK-PCI   : register read :   486ns (2057468/sec)
PEAK-PCI   : register write:   161ns (6201956/sec)

>>> I will continue development on my laptop with the dongle for the time 
>>> being. It would be interesting to see what happens to the latency 
>>> after your proposed changes are in effect.

Non-CAN latencies will not be significantly affected but RT-Socket-CAN 
latencies will be worse due to overhead of interrupt handling by the 
service task.

>> BTW, what are the latencies you measure on your system under load 
>> (without RT-Socket-CAN).
> Off the top of my head 25us average 30us to 35us max. I am not sure I am 
> "loading" the system though. How do I measure this load that is always 
> talked about?
> 
> Roland
> 
> 
>>
>> Wolfgang.
>>
>>> Thanks,
>>>
>>> Roland
>>>
>>>
>>>
>>> Wolfgang Grandegger wrote:
>>>> Hallo,
>>>>
>>>> in the meantime I have measured the latencies introduced through 
>>>> messages sent and received by RT-Socket-CAN. The SJA1000 register 
>>>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>>>
>>>> PEAK-Dongle: read  access: 11807 ns
>>>> PEAK-Dongle: write access: 11677 ns
>>>>
>>>> IXXAT-PCI  : read  access:   729 ns
>>>> IXXAT-PCI  : write access:   305 ns
>>>>
>>>> I measured an increase of the latency of approx. 170us with the 
>>>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the 
>>>> reception of a full CAN message (with 8 bytes payload). Sending 
>>>> messages is a bit less disturbing. I have attached a small patch to 
>>>> measure the SJA1000 register access times when the driver is 
>>>> initialized. You are welcome to apply it on your setup and report 
>>>> the results. I'm especially interested in numbers for the ISA bus 
>>>> (or PC-104).
>>>>
>>>> Wolfgang.
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------ 
>>>>
>>>>
>>>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST 
>>>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST 
>>>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST    
>>>> 2007-02-26 09:17:27.000000000 +0100
>>>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13 
>>>> 10:01:47.000000000 +0100
>>>> @@ -728,6 +728,30 @@
>>>>      if (chip == NULL)
>>>>      return -EINVAL;
>>>>  
>>>> +#if 1
>>>> +    {
>>>> +    nanosecs_abs_t begin, diff;
>>>> +    volatile u8 reg;
>>>> +    int i, count = 100000;
>>>> +    begin = rtdm_clock_read();
>>>> +    for (i = 0; i < count; i++) {
>>>> +        reg = chip->read_reg(dev, 0);
>>>> +    }
>>>> +    diff = rtdm_clock_read() - begin;
>>>> +    printk("%s: register read time for %d accessed: %ld (%ld per 
>>>> access)\n",
>>>> +           dev->board_name, count,
>>>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>> +    begin = rtdm_clock_read();
>>>> +    for (i = 0; i < count; i++) {
>>>> +        chip->write_reg(dev, 0, reg);
>>>> +    }
>>>> +    diff = rtdm_clock_read() - begin;
>>>> +    printk("%s: register write time for %d accessed: %ld (%ld per 
>>>> access)\n",
>>>> +           dev->board_name, count,
>>>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>> +    }
>>>> +#endif
>>>> +
>>>>      /* Set dummy state for following call */
>>>>      dev->state = CAN_STATE_ACTIVE;
>>>>      /* Enter reset mode */
>>>
>>>
>>
>>
> 
> 



^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-13 13:41     ` Roland Tollenaar
  2007-03-13 14:06       ` Wolfgang Grandegger
  2007-03-14  9:33       ` Wolfgang Grandegger
@ 2007-03-28 17:05       ` roland Tollenaar
  2007-03-28 18:50         ` Wolfgang Grandegger
  2 siblings, 1 reply; 34+ messages in thread
From: roland Tollenaar @ 2007-03-28 17:05 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: xenomai-help

Hi Wolfgang,

Just to answer an open question still

> > BTW, what are the latencies you measure on your system under load
> > (without RT-Socket-CAN).

lat min 20.952
lat ave 31.009
lat max 60.504
lat best 19.276

this was with the loading as you described in this thread and running
for 12 hours.

Anything special about the above figures? Not very good I presume but
I am not running with tsc enabled.

Kind regards,

Roland



>
> Roland
>
>
> >
> > Wolfgang.
> >
> >> Thanks,
> >>
> >> Roland
> >>
> >>
> >>
> >> Wolfgang Grandegger wrote:
> >>> Hallo,
> >>>
> >>> in the meantime I have measured the latencies introduced through
> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
> >>>
> >>> PEAK-Dongle: read  access: 11807 ns
> >>> PEAK-Dongle: write access: 11677 ns
> >>>
> >>> IXXAT-PCI  : read  access:   729 ns
> >>> IXXAT-PCI  : write access:   305 ns
> >>>
> >>> I measured an increase of the latency of approx. 170us with the
> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the reception
> >>> of a full CAN message (with 8 bytes payload). Sending messages is a
> >>> bit less disturbing. I have attached a small patch to measure the
> >>> SJA1000 register access times when the driver is initialized. You are
> >>> welcome to apply it on your setup and report the results. I'm
> >>> especially interested in numbers for the ISA bus (or PC-104).
> >>>
> >>> Wolfgang.
> >>>
> >>>
> >>>
> >>> ------------------------------------------------------------------------
> >>>
> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
> >>> 2007-02-26 09:17:27.000000000 +0100
> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13
> >>> 10:01:47.000000000 +0100
> >>> @@ -728,6 +728,30 @@
> >>>      if (chip == NULL)
> >>>      return -EINVAL;
> >>>
> >>> +#if 1
> >>> +    {
> >>> +    nanosecs_abs_t begin, diff;
> >>> +    volatile u8 reg;
> >>> +    int i, count = 100000;
> >>> +    begin = rtdm_clock_read();
> >>> +    for (i = 0; i < count; i++) {
> >>> +        reg = chip->read_reg(dev, 0);
> >>> +    }
> >>> +    diff = rtdm_clock_read() - begin;
> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
> >>> access)\n",
> >>> +           dev->board_name, count,
> >>> +           (unsigned long)diff, (unsigned long)diff / count);
> >>> +    begin = rtdm_clock_read();
> >>> +    for (i = 0; i < count; i++) {
> >>> +        chip->write_reg(dev, 0, reg);
> >>> +    }
> >>> +    diff = rtdm_clock_read() - begin;
> >>> +    printk("%s: register write time for %d accessed: %ld (%ld per
> >>> access)\n",
> >>> +           dev->board_name, count,
> >>> +           (unsigned long)diff, (unsigned long)diff / count);
> >>> +    }
> >>> +#endif
> >>> +
> >>>      /* Set dummy state for following call */
> >>>      dev->state = CAN_STATE_ACTIVE;
> >>>      /* Enter reset mode */
> >>
> >>
> >
> >
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-28 17:05       ` roland Tollenaar
@ 2007-03-28 18:50         ` Wolfgang Grandegger
  2007-03-29  2:17           ` Roland Tollenaar
  0 siblings, 1 reply; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-28 18:50 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: xenomai-help

roland Tollenaar wrote:
> Hi Wolfgang,
> 
> Just to answer an open question still
> 
>> > BTW, what are the latencies you measure on your system under load
>> > (without RT-Socket-CAN).
> 
> lat min 20.952
> lat ave 31.009
> lat max 60.504
> lat best 19.276
> 
> this was with the loading as you described in this thread and running
> for 12 hours.
> 
> Anything special about the above figures? Not very good I presume but
> I am not running with tsc enabled.

The latencies depend a lot on the hardware. The minimal latency of 20 us 
indicates, that you have a rather slow system. Then a maximum of 60 us 
is reasonable. Note that worst case latencies of better than 20us are 
difficult to achieve, even with high end PCs.

Wolfgang.

> Kind regards,
> 
> Roland
> 
> 
> 
>>
>> Roland
>>
>>
>> >
>> > Wolfgang.
>> >
>> >> Thanks,
>> >>
>> >> Roland
>> >>
>> >>
>> >>
>> >> Wolfgang Grandegger wrote:
>> >>> Hallo,
>> >>>
>> >>> in the meantime I have measured the latencies introduced through
>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
>> >>>
>> >>> PEAK-Dongle: read  access: 11807 ns
>> >>> PEAK-Dongle: write access: 11677 ns
>> >>>
>> >>> IXXAT-PCI  : read  access:   729 ns
>> >>> IXXAT-PCI  : write access:   305 ns
>> >>>
>> >>> I measured an increase of the latency of approx. 170us with the
>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the reception
>> >>> of a full CAN message (with 8 bytes payload). Sending messages is a
>> >>> bit less disturbing. I have attached a small patch to measure the
>> >>> SJA1000 register access times when the driver is initialized. You are
>> >>> welcome to apply it on your setup and report the results. I'm
>> >>> especially interested in numbers for the ISA bus (or PC-104).
>> >>>
>> >>> Wolfgang.
>> >>>
>> >>>
>> >>>
>> >>> 
>> ------------------------------------------------------------------------
>> >>>
>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>> >>> 2007-02-26 09:17:27.000000000 +0100
>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13
>> >>> 10:01:47.000000000 +0100
>> >>> @@ -728,6 +728,30 @@
>> >>>      if (chip == NULL)
>> >>>      return -EINVAL;
>> >>>
>> >>> +#if 1
>> >>> +    {
>> >>> +    nanosecs_abs_t begin, diff;
>> >>> +    volatile u8 reg;
>> >>> +    int i, count = 100000;
>> >>> +    begin = rtdm_clock_read();
>> >>> +    for (i = 0; i < count; i++) {
>> >>> +        reg = chip->read_reg(dev, 0);
>> >>> +    }
>> >>> +    diff = rtdm_clock_read() - begin;
>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
>> >>> access)\n",
>> >>> +           dev->board_name, count,
>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>> >>> +    begin = rtdm_clock_read();
>> >>> +    for (i = 0; i < count; i++) {
>> >>> +        chip->write_reg(dev, 0, reg);
>> >>> +    }
>> >>> +    diff = rtdm_clock_read() - begin;
>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld per
>> >>> access)\n",
>> >>> +           dev->board_name, count,
>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>> >>> +    }
>> >>> +#endif
>> >>> +
>> >>>      /* Set dummy state for following call */
>> >>>      dev->state = CAN_STATE_ACTIVE;
>> >>>      /* Enter reset mode */
>> >>
>> >>
>> >
>> >
>>
>> _______________________________________________
>> Xenomai-help mailing list
>> Xenomai-help@domain.hid
>> https://mail.gna.org/listinfo/xenomai-help
>>
> 
> 



^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-28 18:50         ` Wolfgang Grandegger
@ 2007-03-29  2:17           ` Roland Tollenaar
  2007-03-29  8:38             ` Stéphane ANCELOT
  2007-03-29  8:59             ` Wolfgang Grandegger
  0 siblings, 2 replies; 34+ messages in thread
From: Roland Tollenaar @ 2007-03-29  2:17 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai-help

Hi Wolfgang,

I think that this kind of latency should be fine for controller 
intervals of 1ms.

Another question:
The PC has a 3Ghz processor and an 800Mhz FSB. That should not class as 
"slow" in the conventional sense. What hardware is responsible for the 
latency i.e. makes the PC "slow" from the RT perspective? In other words 
what must one look at when purchasing a machine that should give minimal 
latency?

Regards,

Roland.


Wolfgang Grandegger wrote:
> roland Tollenaar wrote:
>> Hi Wolfgang,
>>
>> Just to answer an open question still
>>
>>> > BTW, what are the latencies you measure on your system under load
>>> > (without RT-Socket-CAN).
>>
>> lat min 20.952
>> lat ave 31.009
>> lat max 60.504
>> lat best 19.276
>>
>> this was with the loading as you described in this thread and running
>> for 12 hours.
>>
>> Anything special about the above figures? Not very good I presume but
>> I am not running with tsc enabled.
> 
> The latencies depend a lot on the hardware. The minimal latency of 20 us 
> indicates, that you have a rather slow system. Then a maximum of 60 us 
> is reasonable. Note that worst case latencies of better than 20us are 
> difficult to achieve, even with high end PCs.
> 
> Wolfgang.
> 
>> Kind regards,
>>
>> Roland
>>
>>
>>
>>>
>>> Roland
>>>
>>>
>>> >
>>> > Wolfgang.
>>> >
>>> >> Thanks,
>>> >>
>>> >> Roland
>>> >>
>>> >>
>>> >>
>>> >> Wolfgang Grandegger wrote:
>>> >>> Hallo,
>>> >>>
>>> >>> in the meantime I have measured the latencies introduced through
>>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
>>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>> >>>
>>> >>> PEAK-Dongle: read  access: 11807 ns
>>> >>> PEAK-Dongle: write access: 11677 ns
>>> >>>
>>> >>> IXXAT-PCI  : read  access:   729 ns
>>> >>> IXXAT-PCI  : write access:   305 ns
>>> >>>
>>> >>> I measured an increase of the latency of approx. 170us with the
>>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the 
>>> reception
>>> >>> of a full CAN message (with 8 bytes payload). Sending messages is a
>>> >>> bit less disturbing. I have attached a small patch to measure the
>>> >>> SJA1000 register access times when the driver is initialized. You 
>>> are
>>> >>> welcome to apply it on your setup and report the results. I'm
>>> >>> especially interested in numbers for the ISA bus (or PC-104).
>>> >>>
>>> >>> Wolfgang.
>>> >>>
>>> >>>
>>> >>>
>>> >>> 
>>> ------------------------------------------------------------------------
>>> >>>
>>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
>>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>> >>> 2007-02-26 09:17:27.000000000 +0100
>>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13
>>> >>> 10:01:47.000000000 +0100
>>> >>> @@ -728,6 +728,30 @@
>>> >>>      if (chip == NULL)
>>> >>>      return -EINVAL;
>>> >>>
>>> >>> +#if 1
>>> >>> +    {
>>> >>> +    nanosecs_abs_t begin, diff;
>>> >>> +    volatile u8 reg;
>>> >>> +    int i, count = 100000;
>>> >>> +    begin = rtdm_clock_read();
>>> >>> +    for (i = 0; i < count; i++) {
>>> >>> +        reg = chip->read_reg(dev, 0);
>>> >>> +    }
>>> >>> +    diff = rtdm_clock_read() - begin;
>>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
>>> >>> access)\n",
>>> >>> +           dev->board_name, count,
>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>> >>> +    begin = rtdm_clock_read();
>>> >>> +    for (i = 0; i < count; i++) {
>>> >>> +        chip->write_reg(dev, 0, reg);
>>> >>> +    }
>>> >>> +    diff = rtdm_clock_read() - begin;
>>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld per
>>> >>> access)\n",
>>> >>> +           dev->board_name, count,
>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>> >>> +    }
>>> >>> +#endif
>>> >>> +
>>> >>>      /* Set dummy state for following call */
>>> >>>      dev->state = CAN_STATE_ACTIVE;
>>> >>>      /* Enter reset mode */
>>> >>
>>> >>
>>> >
>>> >
>>>
>>> _______________________________________________
>>> Xenomai-help mailing list
>>> Xenomai-help@domain.hid
>>> https://mail.gna.org/listinfo/xenomai-help
>>>
>>
>>
> 
> 


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-29  2:17           ` Roland Tollenaar
@ 2007-03-29  8:38             ` Stéphane ANCELOT
  2007-03-29  8:59             ` Wolfgang Grandegger
  1 sibling, 0 replies; 34+ messages in thread
From: Stéphane ANCELOT @ 2007-03-29  8:38 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: xenomai-help

Hi,
Can you provide me with your kernel .config ?
Best Regards
Steph

Roland Tollenaar wrote:
> Hi Wolfgang,
> 
> I think that this kind of latency should be fine for controller 
> intervals of 1ms.
> 
> Another question:
> The PC has a 3Ghz processor and an 800Mhz FSB. That should not class as 
> "slow" in the conventional sense. What hardware is responsible for the 
> latency i.e. makes the PC "slow" from the RT perspective? In other words 
> what must one look at when purchasing a machine that should give minimal 
> latency?
> 
> Regards,
> 
> Roland.
> 
> 
> Wolfgang Grandegger wrote:
>> roland Tollenaar wrote:
>>> Hi Wolfgang,
>>>
>>> Just to answer an open question still
>>>
>>>> > BTW, what are the latencies you measure on your system under load
>>>> > (without RT-Socket-CAN).
>>>
>>> lat min 20.952
>>> lat ave 31.009
>>> lat max 60.504
>>> lat best 19.276
>>>
>>> this was with the loading as you described in this thread and running
>>> for 12 hours.
>>>
>>> Anything special about the above figures? Not very good I presume but
>>> I am not running with tsc enabled.
>>
>> The latencies depend a lot on the hardware. The minimal latency of 20 
>> us indicates, that you have a rather slow system. Then a maximum of 60 
>> us is reasonable. Note that worst case latencies of better than 20us 
>> are difficult to achieve, even with high end PCs.
>>
>> Wolfgang.
>>
>>> Kind regards,
>>>
>>> Roland
>>>
>>>
>>>
>>>>
>>>> Roland
>>>>
>>>>
>>>> >
>>>> > Wolfgang.
>>>> >
>>>> >> Thanks,
>>>> >>
>>>> >> Roland
>>>> >>
>>>> >>
>>>> >>
>>>> >> Wolfgang Grandegger wrote:
>>>> >>> Hallo,
>>>> >>>
>>>> >>> in the meantime I have measured the latencies introduced through
>>>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
>>>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>>> >>>
>>>> >>> PEAK-Dongle: read  access: 11807 ns
>>>> >>> PEAK-Dongle: write access: 11677 ns
>>>> >>>
>>>> >>> IXXAT-PCI  : read  access:   729 ns
>>>> >>> IXXAT-PCI  : write access:   305 ns
>>>> >>>
>>>> >>> I measured an increase of the latency of approx. 170us with the
>>>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the 
>>>> reception
>>>> >>> of a full CAN message (with 8 bytes payload). Sending messages is a
>>>> >>> bit less disturbing. I have attached a small patch to measure the
>>>> >>> SJA1000 register access times when the driver is initialized. 
>>>> You are
>>>> >>> welcome to apply it on your setup and report the results. I'm
>>>> >>> especially interested in numbers for the ISA bus (or PC-104).
>>>> >>>
>>>> >>> Wolfgang.
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> 
>>>> ------------------------------------------------------------------------ 
>>>>
>>>> >>>
>>>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
>>>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>> >>> 2007-02-26 09:17:27.000000000 +0100
>>>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13
>>>> >>> 10:01:47.000000000 +0100
>>>> >>> @@ -728,6 +728,30 @@
>>>> >>>      if (chip == NULL)
>>>> >>>      return -EINVAL;
>>>> >>>
>>>> >>> +#if 1
>>>> >>> +    {
>>>> >>> +    nanosecs_abs_t begin, diff;
>>>> >>> +    volatile u8 reg;
>>>> >>> +    int i, count = 100000;
>>>> >>> +    begin = rtdm_clock_read();
>>>> >>> +    for (i = 0; i < count; i++) {
>>>> >>> +        reg = chip->read_reg(dev, 0);
>>>> >>> +    }
>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
>>>> >>> access)\n",
>>>> >>> +           dev->board_name, count,
>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>> >>> +    begin = rtdm_clock_read();
>>>> >>> +    for (i = 0; i < count; i++) {
>>>> >>> +        chip->write_reg(dev, 0, reg);
>>>> >>> +    }
>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld per
>>>> >>> access)\n",
>>>> >>> +           dev->board_name, count,
>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>> >>> +    }
>>>> >>> +#endif
>>>> >>> +
>>>> >>>      /* Set dummy state for following call */
>>>> >>>      dev->state = CAN_STATE_ACTIVE;
>>>> >>>      /* Enter reset mode */
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>>
>>>> _______________________________________________
>>>> Xenomai-help mailing list
>>>> Xenomai-help@domain.hid
>>>> https://mail.gna.org/listinfo/xenomai-help
>>>>
>>>
>>>
>>
>>
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
> 
> 



^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-29  2:17           ` Roland Tollenaar
  2007-03-29  8:38             ` Stéphane ANCELOT
@ 2007-03-29  8:59             ` Wolfgang Grandegger
  2007-03-29 16:44               ` Roland Tollenaar
  1 sibling, 1 reply; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-29  8:59 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: xenomai-help

Roland Tollenaar wrote:
> Hi Wolfgang,
> 
> I think that this kind of latency should be fine for controller 
> intervals of 1ms.
> 
> Another question:
> The PC has a 3Ghz processor and an 800Mhz FSB. That should not class as 
> "slow" in the conventional sense. What hardware is responsible for the 
> latency i.e. makes the PC "slow" from the RT perspective? In other words 
> what must one look at when purchasing a machine that should give minimal 
> latency?

I ment "slow" in the sense of little CPU power, but that's obviously not 
the case. How have you measured these figures? With the "latency" 
program from the test suite? What is the min latency _without_ load? And 
also check Xenomai's TROUBLESHOOTING file. Already changing the kernel 
configuration to avoid latency "killers" might help.

Wolfgang.

> Regards,
> 
> Roland.
> 
> 
> Wolfgang Grandegger wrote:
>> roland Tollenaar wrote:
>>> Hi Wolfgang,
>>>
>>> Just to answer an open question still
>>>
>>>> > BTW, what are the latencies you measure on your system under load
>>>> > (without RT-Socket-CAN).
>>>
>>> lat min 20.952
>>> lat ave 31.009
>>> lat max 60.504
>>> lat best 19.276
>>>
>>> this was with the loading as you described in this thread and running
>>> for 12 hours.
>>>
>>> Anything special about the above figures? Not very good I presume but
>>> I am not running with tsc enabled.
>>
>> The latencies depend a lot on the hardware. The minimal latency of 20 
>> us indicates, that you have a rather slow system. Then a maximum of 60 
>> us is reasonable. Note that worst case latencies of better than 20us 
>> are difficult to achieve, even with high end PCs.
>>
>> Wolfgang.
>>
>>> Kind regards,
>>>
>>> Roland
>>>
>>>
>>>
>>>>
>>>> Roland
>>>>
>>>>
>>>> >
>>>> > Wolfgang.
>>>> >
>>>> >> Thanks,
>>>> >>
>>>> >> Roland
>>>> >>
>>>> >>
>>>> >>
>>>> >> Wolfgang Grandegger wrote:
>>>> >>> Hallo,
>>>> >>>
>>>> >>> in the meantime I have measured the latencies introduced through
>>>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
>>>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>>> >>>
>>>> >>> PEAK-Dongle: read  access: 11807 ns
>>>> >>> PEAK-Dongle: write access: 11677 ns
>>>> >>>
>>>> >>> IXXAT-PCI  : read  access:   729 ns
>>>> >>> IXXAT-PCI  : write access:   305 ns
>>>> >>>
>>>> >>> I measured an increase of the latency of approx. 170us with the
>>>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the 
>>>> reception
>>>> >>> of a full CAN message (with 8 bytes payload). Sending messages is a
>>>> >>> bit less disturbing. I have attached a small patch to measure the
>>>> >>> SJA1000 register access times when the driver is initialized. 
>>>> You are
>>>> >>> welcome to apply it on your setup and report the results. I'm
>>>> >>> especially interested in numbers for the ISA bus (or PC-104).
>>>> >>>
>>>> >>> Wolfgang.
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> 
>>>> ------------------------------------------------------------------------ 
>>>>
>>>> >>>
>>>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
>>>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>> >>> 2007-02-26 09:17:27.000000000 +0100
>>>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13
>>>> >>> 10:01:47.000000000 +0100
>>>> >>> @@ -728,6 +728,30 @@
>>>> >>>      if (chip == NULL)
>>>> >>>      return -EINVAL;
>>>> >>>
>>>> >>> +#if 1
>>>> >>> +    {
>>>> >>> +    nanosecs_abs_t begin, diff;
>>>> >>> +    volatile u8 reg;
>>>> >>> +    int i, count = 100000;
>>>> >>> +    begin = rtdm_clock_read();
>>>> >>> +    for (i = 0; i < count; i++) {
>>>> >>> +        reg = chip->read_reg(dev, 0);
>>>> >>> +    }
>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
>>>> >>> access)\n",
>>>> >>> +           dev->board_name, count,
>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>> >>> +    begin = rtdm_clock_read();
>>>> >>> +    for (i = 0; i < count; i++) {
>>>> >>> +        chip->write_reg(dev, 0, reg);
>>>> >>> +    }
>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld per
>>>> >>> access)\n",
>>>> >>> +           dev->board_name, count,
>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>> >>> +    }
>>>> >>> +#endif
>>>> >>> +
>>>> >>>      /* Set dummy state for following call */
>>>> >>>      dev->state = CAN_STATE_ACTIVE;
>>>> >>>      /* Enter reset mode */
>>>> >>
>>>> >>
>>>> >
>>>> >
>>>>
>>>> _______________________________________________
>>>> Xenomai-help mailing list
>>>> Xenomai-help@domain.hid
>>>> https://mail.gna.org/listinfo/xenomai-help
>>>>
>>>
>>>
>>
>>
> 
> 



^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-29  8:59             ` Wolfgang Grandegger
@ 2007-03-29 16:44               ` Roland Tollenaar
  2007-03-29 18:51                 ` Gilles Chanteperdrix
  2007-03-29 18:59                 ` Wolfgang Grandegger
  0 siblings, 2 replies; 34+ messages in thread
From: Roland Tollenaar @ 2007-03-29 16:44 UTC (permalink / raw)
  To: Wolfgang Grandegger, Xenomai-help

Hi Wolfgang,

Typically without load the average latecny is 30 us and 20 us min 
latency. Yes I am using the latency program of the test suit.

Where do I check to find the latency "killer" settings? The 
powermanagement and all that s switched of. As is the PC speaker. What 
else can I look at?

Roland




Wolfgang Grandegger wrote:
> Roland Tollenaar wrote:
>> Hi Wolfgang,
>>
>> I think that this kind of latency should be fine for controller 
>> intervals of 1ms.
>>
>> Another question:
>> The PC has a 3Ghz processor and an 800Mhz FSB. That should not class 
>> as "slow" in the conventional sense. What hardware is responsible for 
>> the latency i.e. makes the PC "slow" from the RT perspective? In other 
>> words what must one look at when purchasing a machine that should give 
>> minimal latency?
> 
> I ment "slow" in the sense of little CPU power, but that's obviously not 
> the case. How have you measured these figures? With the "latency" 
> program from the test suite? What is the min latency _without_ load? And 
> also check Xenomai's TROUBLESHOOTING file. Already changing the kernel 
> configuration to avoid latency "killers" might help.
> 
> Wolfgang.
> 
>> Regards,
>>
>> Roland.
>>
>>
>> Wolfgang Grandegger wrote:
>>> roland Tollenaar wrote:
>>>> Hi Wolfgang,
>>>>
>>>> Just to answer an open question still
>>>>
>>>>> > BTW, what are the latencies you measure on your system under load
>>>>> > (without RT-Socket-CAN).
>>>>
>>>> lat min 20.952
>>>> lat ave 31.009
>>>> lat max 60.504
>>>> lat best 19.276
>>>>
>>>> this was with the loading as you described in this thread and running
>>>> for 12 hours.
>>>>
>>>> Anything special about the above figures? Not very good I presume but
>>>> I am not running with tsc enabled.
>>>
>>> The latencies depend a lot on the hardware. The minimal latency of 20 
>>> us indicates, that you have a rather slow system. Then a maximum of 
>>> 60 us is reasonable. Note that worst case latencies of better than 
>>> 20us are difficult to achieve, even with high end PCs.
>>>
>>> Wolfgang.
>>>
>>>> Kind regards,
>>>>
>>>> Roland
>>>>
>>>>
>>>>
>>>>>
>>>>> Roland
>>>>>
>>>>>
>>>>> >
>>>>> > Wolfgang.
>>>>> >
>>>>> >> Thanks,
>>>>> >>
>>>>> >> Roland
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> Wolfgang Grandegger wrote:
>>>>> >>> Hallo,
>>>>> >>>
>>>>> >>> in the meantime I have measured the latencies introduced through
>>>>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
>>>>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>>>> >>>
>>>>> >>> PEAK-Dongle: read  access: 11807 ns
>>>>> >>> PEAK-Dongle: write access: 11677 ns
>>>>> >>>
>>>>> >>> IXXAT-PCI  : read  access:   729 ns
>>>>> >>> IXXAT-PCI  : write access:   305 ns
>>>>> >>>
>>>>> >>> I measured an increase of the latency of approx. 170us with the
>>>>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the 
>>>>> reception
>>>>> >>> of a full CAN message (with 8 bytes payload). Sending messages 
>>>>> is a
>>>>> >>> bit less disturbing. I have attached a small patch to measure the
>>>>> >>> SJA1000 register access times when the driver is initialized. 
>>>>> You are
>>>>> >>> welcome to apply it on your setup and report the results. I'm
>>>>> >>> especially interested in numbers for the ISA bus (or PC-104).
>>>>> >>>
>>>>> >>> Wolfgang.
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>> 
>>>>> ------------------------------------------------------------------------ 
>>>>>
>>>>> >>>
>>>>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
>>>>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>>>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>>>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>>> >>> 2007-02-26 09:17:27.000000000 +0100
>>>>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    2007-03-13
>>>>> >>> 10:01:47.000000000 +0100
>>>>> >>> @@ -728,6 +728,30 @@
>>>>> >>>      if (chip == NULL)
>>>>> >>>      return -EINVAL;
>>>>> >>>
>>>>> >>> +#if 1
>>>>> >>> +    {
>>>>> >>> +    nanosecs_abs_t begin, diff;
>>>>> >>> +    volatile u8 reg;
>>>>> >>> +    int i, count = 100000;
>>>>> >>> +    begin = rtdm_clock_read();
>>>>> >>> +    for (i = 0; i < count; i++) {
>>>>> >>> +        reg = chip->read_reg(dev, 0);
>>>>> >>> +    }
>>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
>>>>> >>> access)\n",
>>>>> >>> +           dev->board_name, count,
>>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>>> >>> +    begin = rtdm_clock_read();
>>>>> >>> +    for (i = 0; i < count; i++) {
>>>>> >>> +        chip->write_reg(dev, 0, reg);
>>>>> >>> +    }
>>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld per
>>>>> >>> access)\n",
>>>>> >>> +           dev->board_name, count,
>>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>>> >>> +    }
>>>>> >>> +#endif
>>>>> >>> +
>>>>> >>>      /* Set dummy state for following call */
>>>>> >>>      dev->state = CAN_STATE_ACTIVE;
>>>>> >>>      /* Enter reset mode */
>>>>> >>
>>>>> >>
>>>>> >
>>>>> >
>>>>>
>>>>> _______________________________________________
>>>>> Xenomai-help mailing list
>>>>> Xenomai-help@domain.hid
>>>>> https://mail.gna.org/listinfo/xenomai-help
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
> 
> 


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-29 16:44               ` Roland Tollenaar
@ 2007-03-29 18:51                 ` Gilles Chanteperdrix
  2007-03-29 18:59                 ` Wolfgang Grandegger
  1 sibling, 0 replies; 34+ messages in thread
From: Gilles Chanteperdrix @ 2007-03-29 18:51 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: Xenomai-help

Roland Tollenaar wrote:
 > Hi Wolfgang,
 > 
 > Typically without load the average latecny is 30 us and 20 us min 
 > latency. Yes I am using the latency program of the test suit.
 > 
 > Where do I check to find the latency "killer" settings? The 
 > powermanagement and all that s switched of. As is the PC speaker. What 
 > else can I look at?

Latency killers are detailed in the TROUBLESHOOTING guide.
Not all the power management is bad, ACPI is Ok, and is even recommended
except for the ACPI processor module.
Select a processor with a tsc and enable the local APIC if your hardware
supports it.
Make sure Xenomai debug features are disabled.

-- 


					    Gilles Chanteperdrix.


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Re: Latencies due to RT-Socket-CAN register accesses
  2007-03-29 16:44               ` Roland Tollenaar
  2007-03-29 18:51                 ` Gilles Chanteperdrix
@ 2007-03-29 18:59                 ` Wolfgang Grandegger
  2007-04-23 15:09                   ` [Xenomai-help] " roland Tollenaar
  1 sibling, 1 reply; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-03-29 18:59 UTC (permalink / raw)
  To: rolandtollenaar; +Cc: Xenomai-help

Roland Tollenaar wrote:
> Hi Wolfgang,
> 
> Typically without load the average latecny is 30 us and 20 us min 
> latency. Yes I am using the latency program of the test suit.
> 
> Where do I check to find the latency "killer" settings? The 
> powermanagement and all that s switched of. As is the PC speaker. What 
> else can I look at?

Here is what I get on a much slower PC (Athlon 1.1 GHz):
[root@domain.hid bin]# ./latency -p500
    RTT|  00:00:01  (periodic user-mode task, 500 us period, priority 99)
    RTH|-----lat min|-----lat avg|-----lat max|-overrun|
    ---|------------|------------|------------|--------|
    RTS|       1.309|       1.988|      10.723|       0|

Could you show us your .config file as Stephane ask for and the output 
of /proc/cpuinfo. Unfortunately, I have little experience with PC 
hardware and it's bad impact on the latency.

Wolfgang.


> Wolfgang Grandegger wrote:
>> Roland Tollenaar wrote:
>>> Hi Wolfgang,
>>>
>>> I think that this kind of latency should be fine for controller 
>>> intervals of 1ms.
>>>
>>> Another question:
>>> The PC has a 3Ghz processor and an 800Mhz FSB. That should not class 
>>> as "slow" in the conventional sense. What hardware is responsible for 
>>> the latency i.e. makes the PC "slow" from the RT perspective? In 
>>> other words what must one look at when purchasing a machine that 
>>> should give minimal latency?
>>
>> I ment "slow" in the sense of little CPU power, but that's obviously 
>> not the case. How have you measured these figures? With the "latency" 
>> program from the test suite? What is the min latency _without_ load? 
>> And also check Xenomai's TROUBLESHOOTING file. Already changing the 
>> kernel configuration to avoid latency "killers" might help.
>>
>> Wolfgang.
>>
>>> Regards,
>>>
>>> Roland.
>>>
>>>
>>> Wolfgang Grandegger wrote:
>>>> roland Tollenaar wrote:
>>>>> Hi Wolfgang,
>>>>>
>>>>> Just to answer an open question still
>>>>>
>>>>>> > BTW, what are the latencies you measure on your system under load
>>>>>> > (without RT-Socket-CAN).
>>>>>
>>>>> lat min 20.952
>>>>> lat ave 31.009
>>>>> lat max 60.504
>>>>> lat best 19.276
>>>>>
>>>>> this was with the loading as you described in this thread and running
>>>>> for 12 hours.
>>>>>
>>>>> Anything special about the above figures? Not very good I presume but
>>>>> I am not running with tsc enabled.
>>>>
>>>> The latencies depend a lot on the hardware. The minimal latency of 
>>>> 20 us indicates, that you have a rather slow system. Then a maximum 
>>>> of 60 us is reasonable. Note that worst case latencies of better 
>>>> than 20us are difficult to achieve, even with high end PCs.
>>>>
>>>> Wolfgang.
>>>>
>>>>> Kind regards,
>>>>>
>>>>> Roland
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Roland
>>>>>>
>>>>>>
>>>>>> >
>>>>>> > Wolfgang.
>>>>>> >
>>>>>> >> Thanks,
>>>>>> >>
>>>>>> >> Roland
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >> Wolfgang Grandegger wrote:
>>>>>> >>> Hallo,
>>>>>> >>>
>>>>>> >>> in the meantime I have measured the latencies introduced through
>>>>>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
>>>>>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
>>>>>> >>>
>>>>>> >>> PEAK-Dongle: read  access: 11807 ns
>>>>>> >>> PEAK-Dongle: write access: 11677 ns
>>>>>> >>>
>>>>>> >>> IXXAT-PCI  : read  access:   729 ns
>>>>>> >>> IXXAT-PCI  : write access:   305 ns
>>>>>> >>>
>>>>>> >>> I measured an increase of the latency of approx. 170us with the
>>>>>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the 
>>>>>> reception
>>>>>> >>> of a full CAN message (with 8 bytes payload). Sending messages 
>>>>>> is a
>>>>>> >>> bit less disturbing. I have attached a small patch to measure the
>>>>>> >>> SJA1000 register access times when the driver is initialized. 
>>>>>> You are
>>>>>> >>> welcome to apply it on your setup and report the results. I'm
>>>>>> >>> especially interested in numbers for the ISA bus (or PC-104).
>>>>>> >>>
>>>>>> >>> Wolfgang.
>>>>>> >>>
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> 
>>>>>> ------------------------------------------------------------------------ 
>>>>>>
>>>>>> >>>
>>>>>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
>>>>>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
>>>>>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>>>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
>>>>>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
>>>>>> >>> 2007-02-26 09:17:27.000000000 +0100
>>>>>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c    
>>>>>> 2007-03-13
>>>>>> >>> 10:01:47.000000000 +0100
>>>>>> >>> @@ -728,6 +728,30 @@
>>>>>> >>>      if (chip == NULL)
>>>>>> >>>      return -EINVAL;
>>>>>> >>>
>>>>>> >>> +#if 1
>>>>>> >>> +    {
>>>>>> >>> +    nanosecs_abs_t begin, diff;
>>>>>> >>> +    volatile u8 reg;
>>>>>> >>> +    int i, count = 100000;
>>>>>> >>> +    begin = rtdm_clock_read();
>>>>>> >>> +    for (i = 0; i < count; i++) {
>>>>>> >>> +        reg = chip->read_reg(dev, 0);
>>>>>> >>> +    }
>>>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>>>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
>>>>>> >>> access)\n",
>>>>>> >>> +           dev->board_name, count,
>>>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>>>> >>> +    begin = rtdm_clock_read();
>>>>>> >>> +    for (i = 0; i < count; i++) {
>>>>>> >>> +        chip->write_reg(dev, 0, reg);
>>>>>> >>> +    }
>>>>>> >>> +    diff = rtdm_clock_read() - begin;
>>>>>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld 
>>>>>> per
>>>>>> >>> access)\n",
>>>>>> >>> +           dev->board_name, count,
>>>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
>>>>>> >>> +    }
>>>>>> >>> +#endif
>>>>>> >>> +
>>>>>> >>>      /* Set dummy state for following call */
>>>>>> >>>      dev->state = CAN_STATE_ACTIVE;
>>>>>> >>>      /* Enter reset mode */
>>>>>> >>
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>>
>>>>>> _______________________________________________
>>>>>> Xenomai-help mailing list
>>>>>> Xenomai-help@domain.hid
>>>>>> https://mail.gna.org/listinfo/xenomai-help
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
> 
> 



^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-03-29 18:59                 ` Wolfgang Grandegger
@ 2007-04-23 15:09                   ` roland Tollenaar
  2007-04-23 18:28                     ` Gilles Chanteperdrix
  2007-04-25  9:04                     ` Stéphane ANCELOT
  0 siblings, 2 replies; 34+ messages in thread
From: roland Tollenaar @ 2007-04-23 15:09 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 7378 bytes --]

Hi Wolfgang, Gilles, Stephane

In the intrim I have checked for latency killers and have found
nothing. I have a faster machine than you have posted the poerformance
of below yet I have substantially worse latencies.

Attached is my config file if you care to look at it.

One point may be USB. I am using usb pen drives and have seen in one
of the threads that USB (even if not used?) is considered a latency
killer.

Gilles suggested also to turn off the debug features but they were
turned off already AFAIK.

Sorry for the delay, I have not been able to work on this project for a while.

Ah and I have updated to 2.3.1 today, no problems but also no
improvement on the latency unfortunately. Just to eliminate that
point.

Kind regards,

Roland Tollenaar



On 3/29/07, Wolfgang Grandegger <wg@domain.hid> wrote:
> Roland Tollenaar wrote:
> > Hi Wolfgang,
> >
> > Typically without load the average latecny is 30 us and 20 us min
> > latency. Yes I am using the latency program of the test suit.
> >
> > Where do I check to find the latency "killer" settings? The
> > powermanagement and all that s switched of. As is the PC speaker. What
> > else can I look at?
>
> Here is what I get on a much slower PC (Athlon 1.1 GHz):
> [root@domain.hid bin]# ./latency -p500
>     RTT|  00:00:01  (periodic user-mode task, 500 us period, priority 99)
>     RTH|-----lat min|-----lat avg|-----lat max|-overrun|
>     ---|------------|------------|------------|--------|
>     RTS|       1.309|       1.988|      10.723|       0|
>
> Could you show us your .config file as Stephane ask for and the output
> of /proc/cpuinfo. Unfortunately, I have little experience with PC
> hardware and it's bad impact on the latency.
>
> Wolfgang.
>
>
> > Wolfgang Grandegger wrote:
> >> Roland Tollenaar wrote:
> >>> Hi Wolfgang,
> >>>
> >>> I think that this kind of latency should be fine for controller
> >>> intervals of 1ms.
> >>>
> >>> Another question:
> >>> The PC has a 3Ghz processor and an 800Mhz FSB. That should not class
> >>> as "slow" in the conventional sense. What hardware is responsible for
> >>> the latency i.e. makes the PC "slow" from the RT perspective? In
> >>> other words what must one look at when purchasing a machine that
> >>> should give minimal latency?
> >>
> >> I ment "slow" in the sense of little CPU power, but that's obviously
> >> not the case. How have you measured these figures? With the "latency"
> >> program from the test suite? What is the min latency _without_ load?
> >> And also check Xenomai's TROUBLESHOOTING file. Already changing the
> >> kernel configuration to avoid latency "killers" might help.
> >>
> >> Wolfgang.
> >>
> >>> Regards,
> >>>
> >>> Roland.
> >>>
> >>>
> >>> Wolfgang Grandegger wrote:
> >>>> roland Tollenaar wrote:
> >>>>> Hi Wolfgang,
> >>>>>
> >>>>> Just to answer an open question still
> >>>>>
> >>>>>> > BTW, what are the latencies you measure on your system under load
> >>>>>> > (without RT-Socket-CAN).
> >>>>>
> >>>>> lat min 20.952
> >>>>> lat ave 31.009
> >>>>> lat max 60.504
> >>>>> lat best 19.276
> >>>>>
> >>>>> this was with the loading as you described in this thread and running
> >>>>> for 12 hours.
> >>>>>
> >>>>> Anything special about the above figures? Not very good I presume but
> >>>>> I am not running with tsc enabled.
> >>>>
> >>>> The latencies depend a lot on the hardware. The minimal latency of
> >>>> 20 us indicates, that you have a rather slow system. Then a maximum
> >>>> of 60 us is reasonable. Note that worst case latencies of better
> >>>> than 20us are difficult to achieve, even with high end PCs.
> >>>>
> >>>> Wolfgang.
> >>>>
> >>>>> Kind regards,
> >>>>>
> >>>>> Roland
> >>>>>
> >>>>>
> >>>>>
> >>>>>>
> >>>>>> Roland
> >>>>>>
> >>>>>>
> >>>>>> >
> >>>>>> > Wolfgang.
> >>>>>> >
> >>>>>> >> Thanks,
> >>>>>> >>
> >>>>>> >> Roland
> >>>>>> >>
> >>>>>> >>
> >>>>>> >>
> >>>>>> >> Wolfgang Grandegger wrote:
> >>>>>> >>> Hallo,
> >>>>>> >>>
> >>>>>> >>> in the meantime I have measured the latencies introduced through
> >>>>>> >>> messages sent and received by RT-Socket-CAN. The SJA1000 register
> >>>>>> >>> access times on my rather old PC with an Athlon 1100 Mhz are:
> >>>>>> >>>
> >>>>>> >>> PEAK-Dongle: read  access: 11807 ns
> >>>>>> >>> PEAK-Dongle: write access: 11677 ns
> >>>>>> >>>
> >>>>>> >>> IXXAT-PCI  : read  access:   729 ns
> >>>>>> >>> IXXAT-PCI  : write access:   305 ns
> >>>>>> >>>
> >>>>>> >>> I measured an increase of the latency of approx. 170us with the
> >>>>>> >>> PEAK-Dongle and approx 13us with the IXXAT-PCI card for the
> >>>>>> reception
> >>>>>> >>> of a full CAN message (with 8 bytes payload). Sending messages
> >>>>>> is a
> >>>>>> >>> bit less disturbing. I have attached a small patch to measure the
> >>>>>> >>> SJA1000 register access times when the driver is initialized.
> >>>>>> You are
> >>>>>> >>> welcome to apply it on your setup and report the results. I'm
> >>>>>> >>> especially interested in numbers for the ISA bus (or PC-104).
> >>>>>> >>>
> >>>>>> >>> Wolfgang.
> >>>>>> >>>
> >>>>>> >>>
> >>>>>> >>>
> >>>>>> >>>
> >>>>>> ------------------------------------------------------------------------
> >>>>>>
> >>>>>> >>>
> >>>>>> >>> + diff -u xenomai/ksrc/drivers/can/rtcan_dev.c.IOTEST
> >>>>>> >>> xenomai/ksrc/drivers/can/rtcan_dev.c
> >>>>>> >>> + diff -u xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
> >>>>>> >>> xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
> >>>>>> >>> --- xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c.IOTEST
> >>>>>> >>> 2007-02-26 09:17:27.000000000 +0100
> >>>>>> >>> +++ xenomai/ksrc/drivers/can/sja1000/rtcan_sja1000.c
> >>>>>> 2007-03-13
> >>>>>> >>> 10:01:47.000000000 +0100
> >>>>>> >>> @@ -728,6 +728,30 @@
> >>>>>> >>>      if (chip == NULL)
> >>>>>> >>>      return -EINVAL;
> >>>>>> >>>
> >>>>>> >>> +#if 1
> >>>>>> >>> +    {
> >>>>>> >>> +    nanosecs_abs_t begin, diff;
> >>>>>> >>> +    volatile u8 reg;
> >>>>>> >>> +    int i, count = 100000;
> >>>>>> >>> +    begin = rtdm_clock_read();
> >>>>>> >>> +    for (i = 0; i < count; i++) {
> >>>>>> >>> +        reg = chip->read_reg(dev, 0);
> >>>>>> >>> +    }
> >>>>>> >>> +    diff = rtdm_clock_read() - begin;
> >>>>>> >>> +    printk("%s: register read time for %d accessed: %ld (%ld per
> >>>>>> >>> access)\n",
> >>>>>> >>> +           dev->board_name, count,
> >>>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
> >>>>>> >>> +    begin = rtdm_clock_read();
> >>>>>> >>> +    for (i = 0; i < count; i++) {
> >>>>>> >>> +        chip->write_reg(dev, 0, reg);
> >>>>>> >>> +    }
> >>>>>> >>> +    diff = rtdm_clock_read() - begin;
> >>>>>> >>> +    printk("%s: register write time for %d accessed: %ld (%ld
> >>>>>> per
> >>>>>> >>> access)\n",
> >>>>>> >>> +           dev->board_name, count,
> >>>>>> >>> +           (unsigned long)diff, (unsigned long)diff / count);
> >>>>>> >>> +    }
> >>>>>> >>> +#endif
> >>>>>> >>> +
> >>>>>> >>>      /* Set dummy state for following call */
> >>>>>> >>>      dev->state = CAN_STATE_ACTIVE;
> >>>>>> >>>      /* Enter reset mode */
> >>>>>> >>
> >>>>>> >>
> >>>>>> >
> >>>>>> >
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Xenomai-help mailing list
> >>>>>> Xenomai-help@domain.hid
> >>>>>> https://mail.gna.org/listinfo/xenomai-help
> >>>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
>
>

[-- Attachment #2: config-xen-4 --]
[-- Type: application/octet-stream, Size: 59330 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.16
# Fri Feb 23 17:44:52 2007
#
CONFIG_X86_32=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_UID16=y
CONFIG_VM86=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_SLAB=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_SLOB is not set

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y

#
# Block layer
#
CONFIG_LBD=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Real-time sub-system
#
CONFIG_XENOMAI=y
CONFIG_XENO_OPT_NUCLEUS=y
CONFIG_XENO_OPT_PERVASIVE=y
# CONFIG_XENO_OPT_ISHIELD is not set
# CONFIG_XENO_OPT_RPIDISABLE is not set
CONFIG_XENO_OPT_SECURITY_ACCESS=y
CONFIG_XENO_OPT_PIPELINE_HEAD=y
CONFIG_XENO_OPT_PIPE=y
CONFIG_XENO_OPT_PIPE_NRDEV=32
CONFIG_XENO_OPT_REGISTRY=y
CONFIG_XENO_OPT_REGISTRY_NRSLOTS=512
CONFIG_XENO_OPT_SYS_HEAPSZ=128
CONFIG_XENO_OPT_STATS=y
# CONFIG_XENO_OPT_DEBUG is not set

#
# Timing
#
# CONFIG_XENO_OPT_TIMING_PERIODIC is not set
CONFIG_XENO_OPT_TIMING_PERIOD=0
CONFIG_XENO_OPT_TIMING_TIMERLAT=0
CONFIG_XENO_OPT_TIMING_SCHEDLAT=0

#
# Scalability
#
# CONFIG_XENO_OPT_SCALABLE_SCHED is not set
CONFIG_XENO_OPT_TIMER_LIST=y
# CONFIG_XENO_OPT_TIMER_HEAP is not set
# CONFIG_XENO_OPT_TIMER_WHEEL is not set

#
# Shared interrupts
#
# CONFIG_XENO_OPT_SHIRQ_LEVEL is not set
# CONFIG_XENO_OPT_SHIRQ_EDGE is not set

#
# Machine
#
CONFIG_XENO_HW_FPU=y

#
# NMI watchdog
#

#
# SMI workaround
#
# CONFIG_XENO_HW_SMI_DETECT_DISABLE is not set
CONFIG_XENO_HW_SMI_DETECT=y
# CONFIG_XENO_HW_SMI_WORKAROUND is not set

#
# Interfaces
#
CONFIG_XENO_SKIN_NATIVE=y
CONFIG_XENO_OPT_NATIVE_PIPE=y
CONFIG_XENO_OPT_NATIVE_PIPE_BUFSZ=4096
CONFIG_XENO_OPT_NATIVE_REGISTRY=y
CONFIG_XENO_OPT_NATIVE_SEM=y
CONFIG_XENO_OPT_NATIVE_EVENT=y
CONFIG_XENO_OPT_NATIVE_MUTEX=y
CONFIG_XENO_OPT_NATIVE_COND=y
CONFIG_XENO_OPT_NATIVE_QUEUE=y
CONFIG_XENO_OPT_NATIVE_HEAP=y
CONFIG_XENO_OPT_NATIVE_ALARM=y
CONFIG_XENO_OPT_NATIVE_MPS=y
# CONFIG_XENO_OPT_NATIVE_INTR is not set
CONFIG_XENO_SKIN_POSIX=y
# CONFIG_XENO_OPT_POSIX_SHM is not set
# CONFIG_XENO_OPT_POSIX_INTR is not set
CONFIG_XENO_OPT_DEBUG_POSIX=y
# CONFIG_XENO_SKIN_PSOS is not set
# CONFIG_XENO_SKIN_UITRON is not set
# CONFIG_XENO_SKIN_VRTX is not set
# CONFIG_XENO_SKIN_VXWORKS is not set
# CONFIG_XENO_SKIN_RTAI is not set
CONFIG_XENO_SKIN_RTDM=y
CONFIG_XENO_OPT_RTDM_FILDES=128

#
# Drivers
#

#
# Serial drivers
#
# CONFIG_XENO_DRIVERS_16550A is not set

#
# Testing drivers
#
# CONFIG_XENO_DRIVERS_TIMERBENCH is not set
# CONFIG_XENO_DRIVERS_IRQBENCH is not set
# CONFIG_XENO_DRIVERS_SWITCHTEST is not set

#
# CAN drivers
#
CONFIG_XENO_DRIVERS_CAN=y
CONFIG_XENO_DRIVERS_CAN_DEBUG=y
CONFIG_XENO_DRIVERS_CAN_TX_LOOPBACK=y
CONFIG_XENO_DRIVERS_CAN_RXBUF_SIZE=1024
CONFIG_XENO_DRIVERS_CAN_MAX_DEVICES=4
CONFIG_XENO_DRIVERS_CAN_MAX_RECEIVERS=16
CONFIG_XENO_DRIVERS_CAN_VIRT=y
CONFIG_XENO_DRIVERS_CAN_SJA1000=y
# CONFIG_XENO_DRIVERS_CAN_SJA1000_ISA is not set
# CONFIG_XENO_DRIVERS_CAN_SJA1000_MEM is not set
CONFIG_XENO_DRIVERS_CAN_SJA1000_PEAK_PCI=m
# CONFIG_XENO_DRIVERS_CAN_SJA1000_IXXAT_PCI is not set
CONFIG_XENO_DRIVERS_CAN_SJA1000_PEAK_DNG=m

#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
# CONFIG_M386 is not set
CONFIG_M486=y
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_PPRO_FENCE=y
CONFIG_X86_F00F_BUG=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
# CONFIG_SMP is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_IPIPE=y
# CONFIG_X86_UP_APIC is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
CONFIG_TOSHIBA=m
CONFIG_I8K=m
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=m
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m

#
# Firmware Drivers
#
CONFIG_EDD=m
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_VMSPLIT_3G=y
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_REGPARM is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x100000
CONFIG_DOUBLEFAULT=y

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SOFTWARE_SUSPEND is not set

#
# ACPI (Advanced Configuration and Power Interface) Support
#
# CONFIG_ACPI is not set

#
# APM (Advanced Power Management) BIOS Support
#
# CONFIG_APM is not set

#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
CONFIG_PCI_LEGACY_PROC=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
CONFIG_SCx200=m

#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=m
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
CONFIG_I82092=m
CONFIG_I82365=m
CONFIG_TCIC=m
CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=m

#
# PCI Hotplug Support
#
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_COMPAQ=m
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=m
# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set
# CONFIG_HOTPLUG_PCI_SHPC_PHPRM_LEGACY is not set

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
# CONFIG_NETDEBUG is not set
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y

#
# IP: Virtual Server Configuration
#
CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
# CONFIG_IP_NF_CT_ACCT is not set
# CONFIG_IP_NF_CONNTRACK_MARK is not set
CONFIG_IP_NF_CONNTRACK_EVENTS=y
CONFIG_IP_NF_CONNTRACK_NETLINK=m
CONFIG_IP_NF_CT_PROTO_SCTP=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
# CONFIG_IP_NF_NETBIOS_NS is not set
CONFIG_IP_NF_TFTP=m
CONFIG_IP_NF_AMANDA=m
CONFIG_IP_NF_PPTP=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_MATCH_HASHLIMIT=m
CONFIG_IP_NF_MATCH_POLICY=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_TFTP=m
CONFIG_IP_NF_NAT_AMANDA=m
CONFIG_IP_NF_NAT_PPTP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_MULTIPORT=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AHESP=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_POLICY=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m

#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m

#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y

#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC is not set
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
# CONFIG_DECNET is not set
CONFIG_LLC=y
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=y
CONFIG_LTPC=m
CONFIG_COPS=m
CONFIG_COPS_DAYNA=y
CONFIG_COPS_TANGENT=y
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
CONFIG_NET_DIVERT=y
# CONFIG_ECONET is not set
CONFIG_WAN_ROUTER=m

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CLK_JIFFIES=y
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
# CONFIG_NET_SCH_CLK_CPU is not set

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_INGRESS=m

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_CLS_POLICE=y
# CONFIG_NET_CLS_IND is not set
CONFIG_NET_ESTIMATOR=y

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
CONFIG_ROSE=m

#
# AX.25 network device drivers
#
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
CONFIG_DMASCC=m
CONFIG_SCC=m
CONFIG_SCC_DELAY=y
CONFIG_SCC_TRXECHO=y
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
# CONFIG_IRDA_ULTRA is not set

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_LITELINK_DONGLE=m
CONFIG_MA600_DONGLE=m
CONFIG_GIRBIL_DONGLE=m
CONFIG_MCP2120_DONGLE=m
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=m

#
# Old SIR device drivers
#
CONFIG_IRPORT_SIR=m

#
# Old Serial dongle support
#
# CONFIG_DONGLE_OLD is not set

#
# FIR device drivers
#
CONFIG_USB_IRDA=m
CONFIG_SIGMATEL_FIR=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
CONFIG_TOSHIBA_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_IEEE80211=m
# CONFIG_IEEE80211_DEBUG is not set
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y

#
# Connector - unified userspace <-> kernelspace linker
#
CONFIG_CONNECTOR=m

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
CONFIG_PARPORT_NOT_PC=y
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_1284=y

#
# Plug and Play support
#
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_ISAPNP=y
# CONFIG_PNPBIOS is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_XD=m
CONFIG_PARIDE=m
CONFIG_PARIDE_PARPORT=m

#
# Parallel IDE high-level drivers
#
CONFIG_PARIDE_PD=m
CONFIG_PARIDE_PCD=m
CONFIG_PARIDE_PF=m
CONFIG_PARIDE_PT=m
CONFIG_PARIDE_PG=m

#
# Parallel IDE protocol modules
#
CONFIG_PARIDE_ATEN=m
CONFIG_PARIDE_BPCK=m
CONFIG_PARIDE_BPCK6=m
CONFIG_PARIDE_COMM=m
CONFIG_PARIDE_DSTR=m
CONFIG_PARIDE_FIT2=m
CONFIG_PARIDE_FIT3=m
CONFIG_PARIDE_EPAT=m
CONFIG_PARIDE_EPATC8=y
CONFIG_PARIDE_EPIA=m
CONFIG_PARIDE_FRIQ=m
CONFIG_PARIDE_FRPW=m
CONFIG_PARIDE_KBIC=m
CONFIG_PARIDE_KTTI=m
CONFIG_PARIDE_ON20=m
CONFIG_PARIDE_ON26=m
CONFIG_BLK_CPQ_DA=y
CONFIG_BLK_CPQ_CISS_DA=y
CONFIG_CISS_SCSI_TAPE=y
CONFIG_BLK_DEV_DAC960=y
CONFIG_BLK_DEV_UMEM=m
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_SX8=y
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_BLK_DEV_INITRD=y
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECS=m
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=y
CONFIG_BLK_DEV_IDESCSI=m
# CONFIG_IDE_TASK_IOCTL is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_CMD640 is not set
CONFIG_BLK_DEV_IDEPNP=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_AEC62XX=y
CONFIG_BLK_DEV_ALI15X3=y
# CONFIG_WDC_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
CONFIG_BLK_DEV_CMD64X=y
CONFIG_BLK_DEV_TRIFLEX=y
CONFIG_BLK_DEV_CY82C693=y
CONFIG_BLK_DEV_CS5520=y
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_CS5535=y
CONFIG_BLK_DEV_HPT34X=y
# CONFIG_HPT34X_AUTODMA is not set
CONFIG_BLK_DEV_HPT366=y
CONFIG_BLK_DEV_SC1200=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_IT821X=y
# CONFIG_BLK_DEV_NS87415 is not set
CONFIG_BLK_DEV_PDC202XX_OLD=y
CONFIG_PDC202XX_BURST=y
CONFIG_BLK_DEV_PDC202XX_NEW=y
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_SIIMAGE=y
CONFIG_BLK_DEV_SIS5513=y
CONFIG_BLK_DEV_SLC90E66=y
CONFIG_BLK_DEV_TRM290=m
CONFIG_BLK_DEV_VIA82CXXX=y
# CONFIG_IDE_ARM is not set
CONFIG_IDE_CHIPSETS=y

#
# Note: most of these also require special kernel boot parameters
#
CONFIG_BLK_DEV_4DRIVES=y
CONFIG_BLK_DEV_ALI14XX=m
CONFIG_BLK_DEV_DTC2278=m
CONFIG_BLK_DEV_HT6560B=m
CONFIG_BLK_DEV_QD65XX=m
CONFIG_BLK_DEV_UMC8672=m
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_IDEDMA_AUTO=y
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=y

#
# SCSI low-level drivers
#
CONFIG_ISCSI_TCP=m
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_7000FASST=y
CONFIG_SCSI_ACARD=y
CONFIG_SCSI_AHA152X=y
CONFIG_SCSI_AHA1542=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=4
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=4
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
CONFIG_SCSI_DPT_I2O=y
CONFIG_SCSI_IN2000=y
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=y
CONFIG_MEGARAID_MAILBOX=y
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=y
CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_AHCI=y
CONFIG_SCSI_SATA_SVW=y
CONFIG_SCSI_ATA_PIIX=y
CONFIG_SCSI_SATA_MV=y
CONFIG_SCSI_SATA_NV=y
CONFIG_SCSI_PDC_ADMA=y
CONFIG_SCSI_SATA_QSTOR=y
CONFIG_SCSI_SATA_PROMISE=y
CONFIG_SCSI_SATA_SX4=y
CONFIG_SCSI_SATA_SIL=y
CONFIG_SCSI_SATA_SIL24=y
CONFIG_SCSI_SATA_SIS=y
CONFIG_SCSI_SATA_ULI=y
CONFIG_SCSI_SATA_VIA=y
CONFIG_SCSI_SATA_VITESSE=y
CONFIG_SCSI_SATA_INTEL_COMBINED=y
CONFIG_SCSI_BUSLOGIC=y
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
CONFIG_SCSI_DMX3191D=y
CONFIG_SCSI_DTC3280=y
CONFIG_SCSI_EATA=y
# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_FUTURE_DOMAIN=y
CONFIG_SCSI_GDTH=y
CONFIG_SCSI_GENERIC_NCR5380=m
CONFIG_SCSI_GENERIC_NCR5380_MMIO=y
CONFIG_SCSI_GENERIC_NCR53C400=y
CONFIG_SCSI_IPS=y
CONFIG_SCSI_INITIO=y
CONFIG_SCSI_INIA100=y
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
CONFIG_SCSI_IPR=y
# CONFIG_SCSI_IPR_TRACE is not set
# CONFIG_SCSI_IPR_DUMP is not set
CONFIG_SCSI_PAS16=m
CONFIG_SCSI_PSI240I=y
CONFIG_SCSI_QLOGIC_FAS=y
CONFIG_SCSI_QLOGIC_FC=y
# CONFIG_SCSI_QLOGIC_FC_FIRMWARE is not set
CONFIG_SCSI_QLOGIC_1280=y
# CONFIG_SCSI_QLA_FC is not set
CONFIG_SCSI_LPFC=y
CONFIG_SCSI_SYM53C416=y
CONFIG_SCSI_DC395x=y
CONFIG_SCSI_DC390T=y
CONFIG_SCSI_T128=y
CONFIG_SCSI_U14_34F=m
# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=y
CONFIG_SCSI_DEBUG=m

#
# PCMCIA SCSI adapter support
#
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_NINJA_SCSI=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
CONFIG_CD_NO_IDESCSI=y
CONFIG_AZTCD=m
CONFIG_GSCD=m
CONFIG_SBPCD=m
CONFIG_MCDX=m
CONFIG_OPTCD=m
CONFIG_CM206=m
CONFIG_SJCD=m
CONFIG_ISP16_CDI=m
CONFIG_CDU31A=m
CONFIG_CDU535=m

#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID5=m
CONFIG_MD_RAID6=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_BLK_DEV_DM=m
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_EMC=m

#
# Fusion MPT device support
#
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=y
CONFIG_FUSION_SAS=y
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=m
CONFIG_FUSION_LAN=m

#
# IEEE 1394 (FireWire) support
#
CONFIG_IEEE1394=m

#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
# CONFIG_IEEE1394_OUI_DB is not set
CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
# CONFIG_IEEE1394_EXPORT_FULL_API is not set

#
# Device Drivers
#
CONFIG_IEEE1394_PCILYNX=m
CONFIG_IEEE1394_OHCI1394=m

#
# Protocol Drivers
#
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_SBP2=m
# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m

#
# I2O device support
#
CONFIG_I2O=y
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_CONFIG=y
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
CONFIG_I2O_SCSI=y
CONFIG_I2O_PROC=y

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_BONDING=m
CONFIG_EQUALIZER=m
CONFIG_TUN=m
CONFIG_NET_SB1000=m

#
# ARCnet devices
#
CONFIG_ARCNET=m
CONFIG_ARCNET_1201=m
CONFIG_ARCNET_1051=m
CONFIG_ARCNET_RAW=m
CONFIG_ARCNET_CAP=m
CONFIG_ARCNET_COM90xx=m
CONFIG_ARCNET_COM90xxIO=m
CONFIG_ARCNET_RIM_I=m
CONFIG_ARCNET_COM20020=m
CONFIG_ARCNET_COM20020_ISA=m
CONFIG_ARCNET_COM20020_PCI=m

#
# PHY device support
#
CONFIG_PHYLIB=m

#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=m
CONFIG_DAVICOM_PHY=m
CONFIG_QSEMI_PHY=m
CONFIG_LXT_PHY=m
CONFIG_CICADA_PHY=m

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_HAPPYMEAL=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_ELPLUS=m
CONFIG_EL16=m
CONFIG_EL3=m
CONFIG_3C515=m
CONFIG_VORTEX=m
CONFIG_TYPHOON=m
CONFIG_LANCE=m
CONFIG_NET_VENDOR_SMC=y
CONFIG_WD80x3=m
CONFIG_ULTRA=m
CONFIG_SMC9194=m
CONFIG_NET_VENDOR_RACAL=y
CONFIG_NI5010=m
CONFIG_NI52=m
CONFIG_NI65=m

#
# Tulip family network device support
#
CONFIG_NET_TULIP=y
CONFIG_DE2104X=m
CONFIG_TULIP=m
# CONFIG_TULIP_MWI is not set
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=m
CONFIG_WINBOND_840=m
CONFIG_DM9102=m
CONFIG_ULI526X=m
CONFIG_PCMCIA_XIRCOM=m
CONFIG_PCMCIA_XIRTULIP=m
CONFIG_AT1700=m
CONFIG_DEPCA=m
CONFIG_HP100=m
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
CONFIG_AMD8111_ETH=m
# CONFIG_AMD8111E_NAPI is not set
CONFIG_ADAPTEC_STARFIRE=m
CONFIG_ADAPTEC_STARFIRE_NAPI=y
CONFIG_AC3200=m
CONFIG_APRICOT=m
CONFIG_B44=m
CONFIG_FORCEDETH=m
CONFIG_CS89x0=m
CONFIG_DGRS=m
CONFIG_EEPRO100=m
CONFIG_E100=m
CONFIG_FEALNX=m
CONFIG_NATSEMI=m
CONFIG_NE2K_PCI=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_SIS900=m
CONFIG_EPIC100=m
CONFIG_SUNDANCE=m
# CONFIG_SUNDANCE_MMIO is not set
CONFIG_TLAN=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
CONFIG_NET_POCKET=y
CONFIG_ATP=m
CONFIG_DE600=m
CONFIG_DE620=m

#
# Ethernet (1000 Mbit)
#
CONFIG_ACENIC=m
# CONFIG_ACENIC_OMIT_TIGON_I is not set
CONFIG_DL2K=m
CONFIG_E1000=m
CONFIG_E1000_NAPI=y
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_R8169=m
# CONFIG_R8169_NAPI is not set
CONFIG_R8169_VLAN=y
CONFIG_SIS190=m
CONFIG_SKGE=m
CONFIG_SKY2=m
CONFIG_SK98LIN=m
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=m
CONFIG_BNX2=m

#
# Ethernet (10000 Mbit)
#
CONFIG_CHELSIO_T1=m
CONFIG_IXGB=m
CONFIG_IXGB_NAPI=y
CONFIG_S2IO=m
# CONFIG_S2IO_NAPI is not set

#
# Token Ring devices
#
CONFIG_TR=y
CONFIG_IBMTR=m
CONFIG_IBMOL=m
CONFIG_IBMLS=m
CONFIG_3C359=m
CONFIG_TMS380TR=m
CONFIG_TMSPCI=m
CONFIG_SKISA=m
CONFIG_PROTEON=m
CONFIG_ABYSS=m
CONFIG_SMCTR=m

#
# Wireless LAN (non-hamradio)
#
CONFIG_NET_RADIO=y

#
# Obsolete Wireless cards support (pre-802.11)
#
CONFIG_STRIP=m
CONFIG_ARLAN=m
CONFIG_WAVELAN=m
CONFIG_PCMCIA_WAVELAN=m
CONFIG_PCMCIA_NETWAVE=m

#
# Wireless 802.11 Frequency Hopping cards support
#
CONFIG_PCMCIA_RAYCS=m

#
# Wireless 802.11b ISA/PCI cards support
#
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
# CONFIG_IPW2200_DEBUG is not set
CONFIG_AIRO=m
CONFIG_HERMES=m
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_HERMES=m
CONFIG_PCI_HERMES=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m

#
# Wireless 802.11b Pcmcia/Cardbus cards support
#
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_PCMCIA_WL3501=m

#
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
#
CONFIG_PRISM54=m
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
CONFIG_NET_WIRELESS=y

#
# PCMCIA network device support
#
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_PCMCIA_PCNET=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_PCMCIA_AXNET=m
CONFIG_ARCNET_COM20020_CS=m
CONFIG_PCMCIA_IBMTR=m

#
# Wan interfaces
#
CONFIG_WAN=y
CONFIG_HOSTESS_SV11=m
CONFIG_COSA=m
CONFIG_DSCC4=m
# CONFIG_DSCC4_PCISYNC is not set
# CONFIG_DSCC4_PCI_RST is not set
CONFIG_LANMEDIA=m
CONFIG_SEALEVEL_4021=m
CONFIG_SYNCLINK_SYNCPPP=m
CONFIG_HDLC=m
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y

#
# X.25/LAPB support is disabled
#
CONFIG_PCI200SYN=m
CONFIG_WANXL=m
CONFIG_PC300=m
# CONFIG_PC300_MLPPP is not set
CONFIG_N2=m
CONFIG_C101=m
CONFIG_FARSYNC=m
CONFIG_DLCI=m
CONFIG_DLCI_COUNT=24
CONFIG_DLCI_MAX=8
# CONFIG_SDLA is not set
CONFIG_WAN_ROUTER_DRIVERS=y
CONFIG_CYCLADES_SYNC=m
CONFIG_CYCLOMX_X25=y
CONFIG_SBNI=m
# CONFIG_SBNI_MULTILINE is not set

#
# ATM drivers
#
CONFIG_ATM_DUMMY=m
CONFIG_ATM_TCP=m
CONFIG_ATM_LANAI=m
CONFIG_ATM_ENI=m
# CONFIG_ATM_ENI_DEBUG is not set
# CONFIG_ATM_ENI_TUNE_BURST is not set
CONFIG_ATM_FIRESTREAM=m
CONFIG_ATM_ZATM=m
# CONFIG_ATM_ZATM_DEBUG is not set
CONFIG_ATM_NICSTAR=m
# CONFIG_ATM_NICSTAR_USE_SUNI is not set
# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
CONFIG_ATM_IDT77252=m
# CONFIG_ATM_IDT77252_DEBUG is not set
# CONFIG_ATM_IDT77252_RCV_ALL is not set
CONFIG_ATM_IDT77252_USE_SUNI=y
CONFIG_ATM_AMBASSADOR=m
# CONFIG_ATM_AMBASSADOR_DEBUG is not set
CONFIG_ATM_HORIZON=m
# CONFIG_ATM_HORIZON_DEBUG is not set
CONFIG_ATM_IA=m
# CONFIG_ATM_IA_DEBUG is not set
CONFIG_ATM_FORE200E_MAYBE=m
# CONFIG_ATM_FORE200E_PCA is not set
CONFIG_ATM_HE=m
# CONFIG_ATM_HE_USE_SUNI is not set
CONFIG_FDDI=y
CONFIG_DEFXX=m
CONFIG_SKFP=m
CONFIG_HIPPI=y
CONFIG_ROADRUNNER=m
# CONFIG_ROADRUNNER_LARGE_RINGS is not set
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
CONFIG_PPPOATM=m
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
CONFIG_NET_FC=y
CONFIG_SHAPER=m
CONFIG_NETCONSOLE=m
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_RX is not set
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y

#
# ISDN subsystem
#
CONFIG_ISDN=m

#
# Old ISDN4Linux
#
CONFIG_ISDN_I4L=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_IPPP_FILTER=y
# CONFIG_ISDN_PPP_BSDCOMP is not set
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_TTY_FAX=y

#
# ISDN feature submodules
#
CONFIG_ISDN_DRV_LOOP=m
CONFIG_ISDN_DIVERSION=m

#
# ISDN4Linux hardware drivers
#

#
# Passive cards
#
CONFIG_ISDN_DRV_HISAX=m

#
# D-channel protocol features
#
CONFIG_HISAX_EURO=y
CONFIG_DE_AOC=y
CONFIG_HISAX_NO_SENDCOMPLETE=y
CONFIG_HISAX_NO_LLC=y
CONFIG_HISAX_NO_KEYPAD=y
CONFIG_HISAX_1TR6=y
CONFIG_HISAX_NI1=y
CONFIG_HISAX_MAX_CARDS=8

#
# HiSax supported cards
#
CONFIG_HISAX_16_0=y
CONFIG_HISAX_16_3=y
CONFIG_HISAX_TELESPCI=y
CONFIG_HISAX_S0BOX=y
CONFIG_HISAX_AVM_A1=y
CONFIG_HISAX_FRITZPCI=y
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_ELSA=y
CONFIG_HISAX_IX1MICROR2=y
CONFIG_HISAX_DIEHLDIVA=y
CONFIG_HISAX_ASUSCOM=y
CONFIG_HISAX_TELEINT=y
CONFIG_HISAX_HFCS=y
CONFIG_HISAX_SEDLBAUER=y
CONFIG_HISAX_SPORTSTER=y
CONFIG_HISAX_MIC=y
CONFIG_HISAX_NETJET=y
CONFIG_HISAX_NETJET_U=y
CONFIG_HISAX_NICCY=y
CONFIG_HISAX_ISURF=y
CONFIG_HISAX_HSTSAPHIR=y
CONFIG_HISAX_BKM_A4T=y
CONFIG_HISAX_SCT_QUADRO=y
CONFIG_HISAX_GAZEL=y
CONFIG_HISAX_HFC_PCI=y
CONFIG_HISAX_W6692=y
CONFIG_HISAX_HFC_SX=y
CONFIG_HISAX_ENTERNOW_PCI=y
# CONFIG_HISAX_DEBUG is not set

#
# HiSax PCMCIA card service modules
#
CONFIG_HISAX_SEDLBAUER_CS=m
CONFIG_HISAX_ELSA_CS=m
CONFIG_HISAX_AVM_A1_CS=m
CONFIG_HISAX_TELES_CS=m

#
# HiSax sub driver modules
#
CONFIG_HISAX_ST5481=m
CONFIG_HISAX_HFCUSB=m
CONFIG_HISAX_HFC4S8S=m
CONFIG_HISAX_FRITZ_PCIPNP=m
CONFIG_HISAX_HDLC=y

#
# Active cards
#
CONFIG_ISDN_DRV_ICN=m
CONFIG_ISDN_DRV_PCBIT=m
CONFIG_ISDN_DRV_SC=m
CONFIG_ISDN_DRV_ACT2000=m
CONFIG_HYSDN=m
CONFIG_HYSDN_CAPI=y

#
# CAPI subsystem
#
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
CONFIG_ISDN_CAPI_CAPIFS=m
CONFIG_ISDN_CAPI_CAPIDRV=m

#
# CAPI hardware drivers
#

#
# Active AVM cards
#
CONFIG_CAPI_AVM=y
CONFIG_ISDN_DRV_AVMB1_B1ISA=m
CONFIG_ISDN_DRV_AVMB1_B1PCI=m
CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
CONFIG_ISDN_DRV_AVMB1_T1ISA=m
CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
CONFIG_ISDN_DRV_AVMB1_T1PCI=m
CONFIG_ISDN_DRV_AVMB1_C4=m

#
# Active Eicon DIVA Server cards
#
CONFIG_CAPI_EICON=y
CONFIG_ISDN_DIVAS=m
CONFIG_ISDN_DIVAS_BRIPCI=y
CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m

#
# Telephony Support
#
CONFIG_PHONE=m
CONFIG_PHONE_IXJ=m
CONFIG_PHONE_IXJ_PCMCIA=m

#
# Input device support
#
CONFIG_INPUT=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_SERIAL=m
CONFIG_MOUSE_INPORT=m
CONFIG_MOUSE_ATIXL=y
CONFIG_MOUSE_LOGIBM=m
CONFIG_MOUSE_PC110PAD=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=m
CONFIG_JOYSTICK_A3D=m
CONFIG_JOYSTICK_ADI=m
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
CONFIG_JOYSTICK_GRIP=m
CONFIG_JOYSTICK_GRIP_MP=m
CONFIG_JOYSTICK_GUILLEMOT=m
CONFIG_JOYSTICK_INTERACT=m
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=m
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=m
CONFIG_JOYSTICK_SPACEORB=m
CONFIG_JOYSTICK_SPACEBALL=m
CONFIG_JOYSTICK_STINGER=m
CONFIG_JOYSTICK_TWIDJOY=m
CONFIG_JOYSTICK_DB9=m
CONFIG_JOYSTICK_GAMECON=m
CONFIG_JOYSTICK_TURBOGRAFX=m
CONFIG_JOYSTICK_JOYDUMP=m
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_GUNZE=m
CONFIG_TOUCHSCREEN_ELO=m
CONFIG_TOUCHSCREEN_MTOUCH=m
CONFIG_TOUCHSCREEN_MK712=m
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_PCSPKR is not set
CONFIG_INPUT_WISTRON_BTNS=m
CONFIG_INPUT_UINPUT=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_COMPUTONE=m
CONFIG_ROCKETPORT=m
CONFIG_CYCLADES=m
# CONFIG_CYZ_INTR is not set
CONFIG_DIGIEPCA=m
CONFIG_ESPSERIAL=m
CONFIG_MOXA_INTELLIO=m
CONFIG_MOXA_SMARTIO=m
CONFIG_ISI=m
CONFIG_SYNCLINK=m
CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m
CONFIG_RISCOM8=m
CONFIG_SPECIALIX=m
# CONFIG_SPECIALIX_RTSCTS is not set
CONFIG_SX=m
CONFIG_RIO=m
# CONFIG_RIO_OLDPCI is not set
CONFIG_STALDRV=y
CONFIG_STALLION=m
CONFIG_ISTALLION=m

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_FOURPORT=m
CONFIG_SERIAL_8250_ACCENT=m
CONFIG_SERIAL_8250_BOCA=m
CONFIG_SERIAL_8250_HUB6=m

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=m
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=m
CONFIG_TIPAR=m

#
# IPMI
#
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m

#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
CONFIG_SC520_WDT=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
CONFIG_WAFER_WDT=m
CONFIG_I6300ESB_WDT=m
CONFIG_I8XX_TCO=m
CONFIG_SC1200_WDT=m
CONFIG_SCx200_WDT=m
CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
CONFIG_CPU5_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m

#
# ISA-based Watchdog Cards
#
CONFIG_PCWATCHDOG=m
CONFIG_MIXCOMWD=m
CONFIG_WDT=m
# CONFIG_WDT_501 is not set

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
CONFIG_WDT_501_PCI=y

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m
CONFIG_HW_RANDOM=m
CONFIG_NVRAM=m
CONFIG_RTC=y
CONFIG_DTLK=m
CONFIG_R3964=m
CONFIG_APPLICOM=m
CONFIG_SONYPI=m

#
# Ftape, the floppy tape device driver
#
CONFIG_FTAPE=m
CONFIG_ZFTAPE=m
CONFIG_ZFT_DFLT_BLK_SZ=10240

#
# The compressor will be built as a module only!
#
CONFIG_ZFT_COMPRESSOR=m
CONFIG_FT_NR_BUFFERS=3
# CONFIG_FT_PROC_FS is not set
CONFIG_FT_NORMAL_DEBUG=y
# CONFIG_FT_FULL_DEBUG is not set
# CONFIG_FT_NO_TRACE is not set
# CONFIG_FT_NO_TRACE_AT_ALL is not set

#
# Hardware configuration
#
CONFIG_FT_STD_FDC=y
# CONFIG_FT_MACH2 is not set
# CONFIG_FT_PROBE_FC10 is not set
# CONFIG_FT_ALT_FDC is not set
CONFIG_FT_FDC_THR=8
CONFIG_FT_FDC_MAX_RATE=2000
CONFIG_FT_ALPHA_CLOCK=0
CONFIG_AGP=m
CONFIG_AGP_ALI=m
CONFIG_AGP_ATI=m
CONFIG_AGP_AMD=m
CONFIG_AGP_AMD64=m
CONFIG_AGP_INTEL=m
CONFIG_AGP_NVIDIA=m
CONFIG_AGP_SIS=m
CONFIG_AGP_SWORKS=m
CONFIG_AGP_VIA=m
CONFIG_AGP_EFFICEON=m
CONFIG_DRM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=m
CONFIG_CARDMAN_4000=m
CONFIG_CARDMAN_4040=m
CONFIG_MWAVE=m
CONFIG_SCx200_GPIO=m
CONFIG_CS5535_GPIO=m
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=m

#
# TPM devices
#
CONFIG_TCG_TPM=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TELCLOCK=m

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_ELEKTOR=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_I2C=m
CONFIG_SCx200_I2C_SCL=12
CONFIG_SCx200_I2C_SDA=13
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_STUB=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
CONFIG_I2C_PCA_ISA=m

#
# Miscellaneous I2C Chip support
#
CONFIG_SENSORS_DS1337=m
CONFIG_SENSORS_DS1374=m
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_SENSORS_PCA9539=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_RTC8564=m
CONFIG_SENSORS_MAX6875=m
CONFIG_RTC_X1205_I2C=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set

#
# Dallas's 1-wire bus
#
CONFIG_W1=m
CONFIG_W1_MATROX=m
CONFIG_W1_DS9490=m
CONFIG_W1_DS9490_BRIDGE=m
CONFIG_W1_THERM=m
CONFIG_W1_SMEM=m
CONFIG_W1_DS2433=m
CONFIG_W1_DS2433_CRC=y

#
# Hardware Monitoring support
#
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_FSCHER=m
CONFIG_SENSORS_FSCPOS=m
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_LM63=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT8231=m
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
CONFIG_SENSORS_HDAPS=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Misc devices
#
CONFIG_IBM_ASM=m

#
# Multimedia Capabilities Port drivers
#

#
# Multimedia devices
#
CONFIG_VIDEO_DEV=m

#
# Video For Linux
#

#
# Video Adapters
#
# CONFIG_VIDEO_ADV_DEBUG is not set
CONFIG_VIDEO_BT848=m
CONFIG_VIDEO_BT848_DVB=y
CONFIG_VIDEO_SAA6588=m
CONFIG_VIDEO_PMS=m
CONFIG_VIDEO_BWQCAM=m
CONFIG_VIDEO_CQCAM=m
CONFIG_VIDEO_W9966=m
CONFIG_VIDEO_CPIA=m
CONFIG_VIDEO_CPIA_PP=m
CONFIG_VIDEO_CPIA_USB=m
CONFIG_VIDEO_SAA5246A=m
CONFIG_VIDEO_SAA5249=m
CONFIG_TUNER_3036=m
CONFIG_VIDEO_STRADIS=m
CONFIG_VIDEO_ZORAN=m
CONFIG_VIDEO_ZORAN_BUZ=m
CONFIG_VIDEO_ZORAN_DC10=m
CONFIG_VIDEO_ZORAN_DC30=m
CONFIG_VIDEO_ZORAN_LML33=m
CONFIG_VIDEO_ZORAN_LML33R10=m
CONFIG_VIDEO_MEYE=m
CONFIG_VIDEO_SAA7134=m
CONFIG_VIDEO_SAA7134_DVB=m
CONFIG_VIDEO_SAA7134_DVB_ALL_FRONTENDS=y
CONFIG_VIDEO_MXB=m
CONFIG_VIDEO_DPC=m
CONFIG_VIDEO_HEXIUM_ORION=m
CONFIG_VIDEO_HEXIUM_GEMINI=m
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_DVB=m
CONFIG_VIDEO_CX88_DVB_ALL_FRONTENDS=y
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_OVCAMCHIP=m
CONFIG_VIDEO_AUDIO_DECODER=m
CONFIG_VIDEO_DECODER=m

#
# Radio Adapters
#
CONFIG_RADIO_CADET=m
CONFIG_RADIO_RTRACK=m
CONFIG_RADIO_RTRACK2=m
CONFIG_RADIO_AZTECH=m
CONFIG_RADIO_GEMTEK=m
CONFIG_RADIO_GEMTEK_PCI=m
CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
CONFIG_RADIO_SF16FMI=m
CONFIG_RADIO_SF16FMR2=m
CONFIG_RADIO_TERRATEC=m
CONFIG_RADIO_TRUST=m
CONFIG_RADIO_TYPHOON=m
CONFIG_RADIO_TYPHOON_PROC_FS=y
CONFIG_RADIO_ZOLTRIX=m

#
# Digital Video Broadcasting Devices
#
CONFIG_DVB=y
CONFIG_DVB_CORE=m

#
# Supported SAA7146 based PCI Adapters
#
CONFIG_DVB_AV7110=m
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m
CONFIG_DVB_BUDGET_PATCH=m

#
# Supported USB Adapters
#
CONFIG_DVB_USB=m
# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_DIBUSB_MB=m
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_CXUSB=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_VP7045=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_NOVA_T_USB2=m
CONFIG_DVB_USB_DTT200U=m
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
CONFIG_DVB_CINERGYT2=m
CONFIG_DVB_CINERGYT2_TUNING=y
CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32
CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512
CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250
# CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE is not set

#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=m
CONFIG_DVB_B2C2_FLEXCOP_PCI=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set

#
# Supported BT878 Adapters
#
CONFIG_DVB_BT8XX=m

#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=m

#
# Supported DVB Frontends
#

#
# Customise DVB Frontends
#

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_STV0299=m
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_MT312=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_S5H1420=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_L64781=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_MT352=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_STV0297=m

#
# ATSC (North American/Korean Terresterial DTV) frontends
#
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
CONFIG_VIDEO_SAA7146=m
CONFIG_VIDEO_SAA7146_VV=m
CONFIG_VIDEO_VIDEOBUF=m
CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_BUF=m
CONFIG_VIDEO_BUF_DVB=m
CONFIG_VIDEO_BTCX=m
CONFIG_VIDEO_IR=m
CONFIG_VIDEO_TVEEPROM=m

#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_MACMODES is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_CIRRUS=m
CONFIG_FB_PM2=m
# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
CONFIG_FB_CYBER2000=m
CONFIG_FB_ARC=m
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB_HGA=m
# CONFIG_FB_HGA_ACCEL is not set
CONFIG_FB_S1D13XXX=m
CONFIG_FB_NVIDIA=m
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
# CONFIG_FB_RIVA_DEBUG is not set
CONFIG_FB_I810=m
CONFIG_FB_I810_GTF=y
CONFIG_FB_I810_I2C=y
CONFIG_FB_INTEL=m
# CONFIG_FB_INTEL_DEBUG is not set
CONFIG_FB_MATROX=m
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=m
CONFIG_FB_MATROX_MAVEN=m
CONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_RADEON_OLD is not set
CONFIG_FB_RADEON=m
CONFIG_FB_RADEON_I2C=y
# CONFIG_FB_RADEON_DEBUG is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY=m
CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_SAVAGE=m
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
CONFIG_FB_SIS=m
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_NEOMAGIC=m
CONFIG_FB_KYRO=m
CONFIG_FB_3DFX=m
# CONFIG_FB_3DFX_ACCEL is not set
CONFIG_FB_VOODOO1=m
CONFIG_FB_CYBLA=m
CONFIG_FB_TRIDENT=m
# CONFIG_FB_TRIDENT_ACCEL is not set
CONFIG_FB_GEODE=y
CONFIG_FB_GEODE_GX1=m
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_MDA_CONSOLE=m
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set

#
# Logo configuration
#
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=m
CONFIG_BACKLIGHT_DEVICE=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_LCD_DEVICE=y

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
# CONFIG_SND is not set

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set

#
# USB support
#
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_ISP116X_HCD=m
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_CS=m

#
# USB Device Class drivers
#
# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
# CONFIG_USB_LIBUSUAL is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
CONFIG_HID_FF=y
CONFIG_HID_PID=y
CONFIG_LOGITECH_FF=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_USB_HIDDEV=y
CONFIG_USB_AIPTEK=m
CONFIG_USB_WACOM=m
CONFIG_USB_ACECAD=m
CONFIG_USB_KBTAB=m
CONFIG_USB_POWERMATE=m
CONFIG_USB_MTOUCH=m
CONFIG_USB_ITMTOUCH=m
CONFIG_USB_EGALAX=m
CONFIG_USB_YEALINK=m
CONFIG_USB_XPAD=m
CONFIG_USB_ATI_REMOTE=m
CONFIG_USB_ATI_REMOTE2=m
CONFIG_USB_KEYSPAN_REMOTE=m
CONFIG_USB_APPLETOUCH=m

#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m

#
# USB Multimedia devices
#
CONFIG_USB_DABUSB=m
CONFIG_USB_VICAM=m
CONFIG_USB_DSBR=m
CONFIG_USB_ET61X251=m
CONFIG_USB_IBMCAM=m
CONFIG_USB_KONICAWC=m
CONFIG_USB_OV511=m
CONFIG_USB_SE401=m
CONFIG_USB_SN9C102=m
CONFIG_USB_STV680=m
CONFIG_USB_W9968CF=m
CONFIG_USB_PWC=m

#
# USB Network Adapters
#
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_NET1080=m
CONFIG_USB_NET_PLUSB=m
# CONFIG_USB_NET_RNDIS_HOST is not set
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_ZD1201=m
CONFIG_USB_MON=y

#
# USB port drivers
#
CONFIG_USB_USS720=m

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRPRIME=m
CONFIG_USB_SERIAL_ANYDATA=m
CONFIG_USB_SERIAL_BELKIN=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
CONFIG_USB_SERIAL_CP2101=m
CONFIG_USB_SERIAL_CYPRESS_M8=m
CONFIG_USB_SERIAL_EMPEG=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
CONFIG_USB_SERIAL_IR=m
CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
CONFIG_USB_SERIAL_KLSI=m
CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
CONFIG_USB_EZUSB=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=m
CONFIG_USB_EMI26=m
CONFIG_USB_AUERSWALD=m
CONFIG_USB_RIO500=m
CONFIG_USB_LEGOTOWER=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
CONFIG_USB_CYTHERM=m
CONFIG_USB_PHIDGETKIT=m
CONFIG_USB_PHIDGETSERVO=m
CONFIG_USB_IDMOUSE=m
CONFIG_USB_SISUSBVGA=m
CONFIG_USB_SISUSBVGA_CON=y
CONFIG_USB_LD=m
CONFIG_USB_TEST=m

#
# USB DSL modem support
#
CONFIG_USB_ATM=m
CONFIG_USB_SPEEDTOUCH=m
CONFIG_USB_CXACRU=m
CONFIG_USB_UEAGLEATM=m
CONFIG_USB_XUSBATM=m

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set

#
# MMC/SD Card support
#
CONFIG_MMC=m
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_BLOCK=m
CONFIG_MMC_WBSD=m

#
# InfiniBand support
#
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_MTHCA=m
# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
CONFIG_INFINIBAND_IPOIB=m
# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
CONFIG_INFINIBAND_SRP=m

#
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
#
# CONFIG_EDAC is not set

#
# File systems
#
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XATTR is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
CONFIG_XFS_EXPORT=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_OCFS2_FS is not set
CONFIG_MINIX_FS=m
CONFIG_ROMFS_FS=m
CONFIG_INOTIFY=y
CONFIG_QUOTA=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
CONFIG_RELAYFS_FS=m
CONFIG_CONFIGFS_FS=y

#
# Miscellaneous filesystems
#
CONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_SQUASHFS_VMALLOC is not set
CONFIG_VXFS_FS=m
CONFIG_HPFS_FS=m
CONFIG_QNX4FS_FS=m
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
CONFIG_UNION_FS=m

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
CONFIG_NCP_FS=m
CONFIG_NCPFS_PACKET_SIGNING=y
CONFIG_NCPFS_IOCTL_LOCKING=y
CONFIG_NCPFS_STRONG=y
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
CONFIG_NCPFS_SMALLDOS=y
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
# CONFIG_CODA_FS_OLD_API is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m
CONFIG_9P_FS=m

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m

#
# Instrumentation Support
#
# CONFIG_PROFILING is not set
# CONFIG_KPROBES is not set

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_IPIPE_DEBUG is not set
CONFIG_IPIPE_TRACE_ENABLE_VALUE=0
# CONFIG_DEBUG_KERNEL is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EARLY_PRINTK=y

#
# Security options
#
# CONFIG_KEYS is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_CAPABILITIES=m
CONFIG_SECURITY_ROOTPLUG=m
CONFIG_SECURITY_SECLVL=m

#
# Cryptographic options
#
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_TEST=m

#
# Hardware crypto devices
#
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=y

#
# Library routines
#
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-23 15:09                   ` [Xenomai-help] " roland Tollenaar
@ 2007-04-23 18:28                     ` Gilles Chanteperdrix
  2007-04-24  8:44                       ` roland Tollenaar
  2007-04-25  9:04                     ` Stéphane ANCELOT
  1 sibling, 1 reply; 34+ messages in thread
From: Gilles Chanteperdrix @ 2007-04-23 18:28 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

roland Tollenaar wrote:
 > Hi Wolfgang, Gilles, Stephane
 > 
 > In the intrim I have checked for latency killers and have found
 > nothing. I have a faster machine than you have posted the poerformance
 > of below yet I have substantially worse latencies.
 > 
 > Attached is my config file if you care to look at it.
 > 
 > One point may be USB. I am using usb pen drives and have seen in one
 > of the threads that USB (even if not used?) is considered a latency
 > killer.
 > 
 > Gilles suggested also to turn off the debug features but they were
 > turned off already AFAIK.
 > 
 > Sorry for the delay, I have not been able to work on this project for a while.
 > 
 > Ah and I have updated to 2.3.1 today, no problems but also no
 > improvement on the latency unfortunately. Just to eliminate that
 > point.

The latency killers:
- SMI: check dmesg to see if you get a warning saying that an
  SMI-enabled chipset was detected. If yes, read the TROUBLESHOOTING. If
  no, and you have a fairly recent Intel chipset, then we probably need
  to add support for your chipset to the SMI workaround module, send us
  the result of lspci -vv.
- USB: disable legacy USB in BIOS configuration, sometimes it is not
  enough, and you have to _enable_ USB in kernel configuration, and load
  the USB modules (that is at least uhci-hcd, ohci-hcd, ehci-hcd and
  usbcore) so that they disable BIOS legacy USB emulation.
- X-window: if you see high latencies only when the X server is running,
  the X-server is probably causing them. A workaround is proposed in the
  TROUBLESHOOTING file.

In case all that fails, enable the I-pipe tracer, run latency with the
-f option, and check /proc/ipipe/trace/frozen once you observed the high
latency in latency.

-- 


					    Gilles Chanteperdrix.


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-23 18:28                     ` Gilles Chanteperdrix
@ 2007-04-24  8:44                       ` roland Tollenaar
  2007-04-24  8:56                         ` Gilles Chanteperdrix
  2007-04-24  9:05                         ` Jan Kiszka
  0 siblings, 2 replies; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24  8:44 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 1407 bytes --]

Hi

> The latency killers:
> - SMI: check dmesg to see if you get a warning saying that an
>   SMI-enabled chipset was detected. If yes,
Yes get this message.

>read the TROUBLESHOOTING. If
Done what it says here. No change. My latency is also less than 100 us
so this is probably not the problem. Tried anyway but as mentioned, no
difference.

> - USB: disable legacy USB in BIOS configuration, sometimes it is not
My BIOS settings do not allow me to switch off the USB legacy. At
least I cannot find the place where this is to be done.


>   enough, and you have to _enable_ USB in kernel configuration, and load
>   the USB modules (that is at least uhci-hcd, ohci-hcd, ehci-hcd and
>   usbcore) so that they disable BIOS legacy USB emulation.
These ARE enabled.

> - X-window: if you see high latencies only when the X server is running,
>   the X-server is probably causing them. A workaround is proposed in the
>   TROUBLESHOOTING file.
Ran latency without X running. No difference.

>
> In case all that fails, enable the I-pipe tracer, run latency with the
> -f option, and check /proc/ipipe/trace/frozen once you observed the high
> latency in latency.
Have done this and attached the result. I have looked at it myself but
cannot interpret the meaning.

A bit of help would be appreciated.

Kind regards,

Roland.


>
> --
>
>
>                                             Gilles Chanteperdrix.
>

[-- Attachment #2: latency.txt --]
[-- Type: text/plain, Size: 1348 bytes --]

== Sampling period: 100 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
RTH|-----lat min|-----lat avg|-----lat max|-overrun|----lat best|---lat worst
RTD|      24.304|      35.199|      65.371|       0|      24.304|      65.371
RTD|      24.304|      34.361|      62.857|       0|      24.304|      65.371
RTD|      24.304|      34.361|      62.857|       0|      24.304|      65.371
RTD|      24.304|      34.361|      62.857|       0|      24.304|      65.371
RTD|      25.142|      35.199|      66.209|       0|      24.304|      66.209
RTD|      24.304|      34.361|      62.857|       0|      24.304|      66.209
RTD|      25.142|      34.361|      62.857|       0|      24.304|      66.209
RTD|      24.304|      34.361|      61.180|       0|      24.304|      66.209
RTD|      24.304|      34.361|      62.857|       0|      24.304|      66.209
RTD|      23.466|      34.361|      62.019|       0|      23.466|      66.209
RTD|      23.466|      34.361|      62.857|       0|      23.466|      66.209
RTD|      24.304|      34.361|      63.695|       0|      23.466|      66.209
---|------------|------------|------------|--------|-------------------------
RTS|      23.466|      34.361|      66.209|       0|    00:00:13/00:00:13
 

[-- Attachment #3: ipipe-frozen.txt --]
[-- Type: text/plain, Size: 113198 bytes --]

I-pipe frozen back-tracing service on 2.6.16/ipipe-1.5-02
------------------------------------------------------------
Freeze: 1560010210200 cycles, Trace Points: 2000 (+10)

 +--------------- Hard IRQs ('|': locked)
 |             +- Delay flag ('+': > 1 us, '!': > 10 us)
 |             |
  Type     Time   Function (Parent)
:|begin    -732   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -732+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -728   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -728   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -728   xnpod_schedule (xnpod_suspend_thread)
:|func     -728+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -725+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -721   __switch_to (xnpod_schedule)
:|[11819]  -721   xnpod_schedule (xnintr_irq_handler)
:|func     -720+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -717+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -714   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -713   common_interrupt (do_page_fault)
:|func     -713   __ipipe_unstall_iret_root (restore_raw)
:|end      -713   __ipipe_unstall_iret_root (restore_raw)
: func     -713   notifier_call_chain (do_page_fault)
: func     -713   __ipipe_unstall_root (do_page_fault)
:|begin    -712   __ipipe_unstall_root (do_page_fault)
:|end      -712   __ipipe_unstall_root (do_page_fault)
: func     -712   find_vma (do_page_fault)
: func     -712   __handle_mm_fault (do_page_fault)
: func     -712   mod_page_state_offset (__handle_mm_fault)
: func     -712   __ipipe_test_and_stall_root (mod_page_state_offset)
: func     -711   __ipipe_restore_root (mod_page_state_offset)
: func     -711   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -711   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -711   __ipipe_unstall_root (__ipipe_restore_root)
: func     -711   page_address (__handle_mm_fault)
: func     -711   do_no_page (__handle_mm_fault)
: func     -711   filemap_nopage (do_no_page)
: func     -710   find_get_page (filemap_nopage)
: func     -710   __ipipe_stall_root (find_get_page)
: func     -710   radix_tree_lookup (find_get_page)
: func     -710   __ipipe_unstall_root (find_get_page)
:|begin    -710   __ipipe_unstall_root (find_get_page)
:|end      -709   __ipipe_unstall_root (find_get_page)
: func     -709   mark_page_accessed (filemap_nopage)
: func     -709   page_address (do_no_page)
: func     -709   page_add_file_rmap (do_no_page)
: func     -709   __ipipe_stall_root (resume_userspace)
: func     -709   __ipipe_unstall_iret_root (restore_raw)
:|begin    -709   __ipipe_unstall_iret_root (restore_raw)
:|end      -708   __ipipe_unstall_iret_root (restore_raw)
: func     -708   __ipipe_syscall_root (system_call)
: func     -707   sys_exit_group (syscall_call)
: func     -707   do_group_exit (sys_exit_group)
: func     -707   do_exit (do_group_exit)
: func     -706   acct_update_integrals (do_exit)
: func     -706   hrtimer_cancel (do_exit)
: func     -706   hrtimer_try_to_cancel (hrtimer_cancel)
: func     -705   __ipipe_test_and_stall_root (hrtimer_try_to_cancel)
: func     -705   __ipipe_restore_root (hrtimer_try_to_cancel)
: func     -705   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -705   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -705   __ipipe_unstall_root (__ipipe_restore_root)
: func     -704   exit_itimers (do_exit)
: func     -704   acct_process (do_exit)
: func     -704   exit_mm (do_exit)
: func     -703   mm_release (exit_mm)
: func     -703   mmput (exit_mm)
: func     -703   __ipipe_dispatch_event (mmput)
:|begin    -702   __ipipe_dispatch_event (mmput)
:|end      -702   __ipipe_dispatch_event (mmput)
: func     -702   cleanup_event (__ipipe_dispatch_event)
:|begin    -702   cleanup_event (__ipipe_dispatch_event)
:|func     -701   xnshadow_ppd_lookup_inner (cleanup_event)
:|func     -701   __ipipe_restore_pipeline_head (cleanup_event)
:|end      -700   __ipipe_restore_pipeline_head (cleanup_event)
:|begin    -700   __ipipe_dispatch_event (mmput)
:|end      -700   __ipipe_dispatch_event (mmput)
: func     -700   exit_aio (mmput)
: func     -699   exit_mmap (mmput)
: func     -699   lru_add_drain (exit_mmap)
: func     -699   __lru_add_drain (lru_add_drain)
: func     -698   __pagevec_lru_add_active (__lru_add_drain)
: func     -698+  __ipipe_stall_root (__pagevec_lru_add_active)
: func     -697   __ipipe_unstall_root (__pagevec_lru_add_active)
:|begin    -697   __ipipe_unstall_root (__pagevec_lru_add_active)
:|end      -696   __ipipe_unstall_root (__pagevec_lru_add_active)
: func     -696   release_pages (__pagevec_lru_add_active)
: func     -696   unmap_vmas (exit_mmap)
: func     -695   unmap_page_range (unmap_vmas)
: func     -695   zap_pte_range (unmap_page_range)
: func     -694   page_address (zap_pte_range)
: func     -694   vm_normal_page (zap_pte_range)
: func     -694   mark_page_accessed (zap_pte_range)
: func     -693   page_remove_rmap (zap_pte_range)
: func     -693   __mod_page_state_offset (page_remove_rmap)
: func     -693   free_page_and_swap_cache (zap_pte_range)
: func     -693   put_page (free_page_and_swap_cache)
: func     -692   vm_normal_page (zap_pte_range)
: func     -692   mark_page_accessed (zap_pte_range)
: func     -692   page_remove_rmap (zap_pte_range)
: func     -692   __mod_page_state_offset (page_remove_rmap)
: func     -692   free_page_and_swap_cache (zap_pte_range)
: func     -692   put_page (free_page_and_swap_cache)
: func     -692   vm_normal_page (zap_pte_range)
: func     -691   mark_page_accessed (zap_pte_range)
: func     -691   page_remove_rmap (zap_pte_range)
: func     -691   __mod_page_state_offset (page_remove_rmap)
: func     -691   free_page_and_swap_cache (zap_pte_range)
: func     -691   put_page (free_page_and_swap_cache)
: func     -691   vm_normal_page (zap_pte_range)
: func     -691   mark_page_accessed (zap_pte_range)
: func     -690   page_remove_rmap (zap_pte_range)
: func     -690   __mod_page_state_offset (page_remove_rmap)
: func     -690   free_page_and_swap_cache (zap_pte_range)
: func     -690   put_page (free_page_and_swap_cache)
: func     -690   unmap_page_range (unmap_vmas)
: func     -689   zap_pte_range (unmap_page_range)
: func     -689   page_address (zap_pte_range)
: func     -689   vm_normal_page (zap_pte_range)
: func     -689   page_remove_rmap (zap_pte_range)
: func     -689   __mod_page_state_offset (page_remove_rmap)
: func     -689   free_page_and_swap_cache (zap_pte_range)
: func     -689   put_page (free_page_and_swap_cache)
: func     -688   __page_cache_release (put_page)
: func     -688   __ipipe_test_and_stall_root (__page_cache_release)
: func     -688   __ipipe_restore_root (__page_cache_release)
: func     -688   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -688   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -688   __ipipe_unstall_root (__ipipe_restore_root)
: func     -688   free_hot_page (__page_cache_release)
: func     -687   free_hot_cold_page (free_hot_page)
: func     -687   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -687   __mod_page_state_offset (free_hot_cold_page)
: func     -687   __ipipe_restore_root (free_hot_cold_page)
: func     -687   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -686   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -686   __ipipe_unstall_root (__ipipe_restore_root)
: func     -686   unmap_page_range (unmap_vmas)
: func     -686   zap_pte_range (unmap_page_range)
: func     -686   page_address (zap_pte_range)
: func     -686   vm_normal_page (zap_pte_range)
: func     -685   page_remove_rmap (zap_pte_range)
: func     -685   __mod_page_state_offset (page_remove_rmap)
: func     -685   free_page_and_swap_cache (zap_pte_range)
: func     -685   put_page (free_page_and_swap_cache)
: func     -685   __page_cache_release (put_page)
: func     -685   __ipipe_test_and_stall_root (__page_cache_release)
: func     -685   __ipipe_restore_root (__page_cache_release)
: func     -685   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -684   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -684   __ipipe_unstall_root (__ipipe_restore_root)
: func     -684   free_hot_page (__page_cache_release)
: func     -684   free_hot_cold_page (free_hot_page)
: func     -684   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -684   __mod_page_state_offset (free_hot_cold_page)
: func     -684   __ipipe_restore_root (free_hot_cold_page)
: func     -684   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -683   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -683   __ipipe_unstall_root (__ipipe_restore_root)
: func     -683   vm_normal_page (zap_pte_range)
: func     -683   page_remove_rmap (zap_pte_range)
: func     -683   __mod_page_state_offset (page_remove_rmap)
: func     -683   free_page_and_swap_cache (zap_pte_range)
: func     -683   put_page (free_page_and_swap_cache)
: func     -683   __page_cache_release (put_page)
: func     -682   __ipipe_test_and_stall_root (__page_cache_release)
: func     -682   __ipipe_restore_root (__page_cache_release)
: func     -682   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -682   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -682   __ipipe_unstall_root (__ipipe_restore_root)
: func     -682   free_hot_page (__page_cache_release)
: func     -682   free_hot_cold_page (free_hot_page)
: func     -681   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -681   __mod_page_state_offset (free_hot_cold_page)
: func     -681   __ipipe_restore_root (free_hot_cold_page)
: func     -681   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -681   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -681   __ipipe_unstall_root (__ipipe_restore_root)
: func     -680   unmap_page_range (unmap_vmas)
: func     -680   zap_pte_range (unmap_page_range)
: func     -680   page_address (zap_pte_range)
: func     -680   vm_normal_page (zap_pte_range)
: func     -680   page_remove_rmap (zap_pte_range)
: func     -680   __mod_page_state_offset (page_remove_rmap)
: func     -680   free_page_and_swap_cache (zap_pte_range)
: func     -679   put_page (free_page_and_swap_cache)
: func     -679   __page_cache_release (put_page)
: func     -679   __ipipe_test_and_stall_root (__page_cache_release)
: func     -679   __ipipe_restore_root (__page_cache_release)
: func     -679   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -679   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -679   __ipipe_unstall_root (__ipipe_restore_root)
: func     -679   free_hot_page (__page_cache_release)
: func     -678   free_hot_cold_page (free_hot_page)
: func     -678   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -678   __mod_page_state_offset (free_hot_cold_page)
: func     -678   __ipipe_restore_root (free_hot_cold_page)
: func     -678   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -678   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -678   __ipipe_unstall_root (__ipipe_restore_root)
: func     -678   unmap_page_range (unmap_vmas)
: func     -677   zap_pte_range (unmap_page_range)
: func     -677   page_address (zap_pte_range)
: func     -677   vm_normal_page (zap_pte_range)
: func     -677   mark_page_accessed (zap_pte_range)
: func     -677   page_remove_rmap (zap_pte_range)
: func     -677   free_page_and_swap_cache (zap_pte_range)
: func     -677   put_page (free_page_and_swap_cache)
: func     -676   vm_normal_page (zap_pte_range)
: func     -676   mark_page_accessed (zap_pte_range)
: func     -676   page_remove_rmap (zap_pte_range)
: func     -676   free_page_and_swap_cache (zap_pte_range)
: func     -676   put_page (free_page_and_swap_cache)
: func     -676   vm_normal_page (zap_pte_range)
: func     -675   mark_page_accessed (zap_pte_range)
: func     -675   page_remove_rmap (zap_pte_range)
: func     -675   free_page_and_swap_cache (zap_pte_range)
: func     -675   put_page (free_page_and_swap_cache)
: func     -675   vm_normal_page (zap_pte_range)
: func     -675   mark_page_accessed (zap_pte_range)
: func     -674   page_remove_rmap (zap_pte_range)
: func     -674   free_page_and_swap_cache (zap_pte_range)
: func     -674   put_page (free_page_and_swap_cache)
: func     -674   vm_normal_page (zap_pte_range)
: func     -674   mark_page_accessed (zap_pte_range)
: func     -674   page_remove_rmap (zap_pte_range)
: func     -674   free_page_and_swap_cache (zap_pte_range)
: func     -674   put_page (free_page_and_swap_cache)
: func     -673   vm_normal_page (zap_pte_range)
: func     -673   mark_page_accessed (zap_pte_range)
: func     -673   page_remove_rmap (zap_pte_range)
: func     -673   free_page_and_swap_cache (zap_pte_range)
: func     -673   put_page (free_page_and_swap_cache)
: func     -673   vm_normal_page (zap_pte_range)
: func     -672   mark_page_accessed (zap_pte_range)
: func     -672   page_remove_rmap (zap_pte_range)
: func     -672   free_page_and_swap_cache (zap_pte_range)
: func     -672   put_page (free_page_and_swap_cache)
: func     -672   vm_normal_page (zap_pte_range)
: func     -672   mark_page_accessed (zap_pte_range)
: func     -672   page_remove_rmap (zap_pte_range)
: func     -672   free_page_and_swap_cache (zap_pte_range)
: func     -671   put_page (free_page_and_swap_cache)
: func     -671   vm_normal_page (zap_pte_range)
: func     -671   mark_page_accessed (zap_pte_range)
: func     -671   page_remove_rmap (zap_pte_range)
: func     -671   free_page_and_swap_cache (zap_pte_range)
: func     -671   put_page (free_page_and_swap_cache)
: func     -671   vm_normal_page (zap_pte_range)
: func     -670   mark_page_accessed (zap_pte_range)
: func     -670   page_remove_rmap (zap_pte_range)
: func     -670   free_page_and_swap_cache (zap_pte_range)
: func     -670   put_page (free_page_and_swap_cache)
: func     -670   vm_normal_page (zap_pte_range)
: func     -670+  mark_page_accessed (zap_pte_range)
:|begin    -668   common_interrupt (__ipipe_trace)
:|func     -668   __ipipe_handle_irq (common_interrupt)
:|func     -668   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func     -668   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func     -668   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func     -667   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func     -667   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func     -667   xnintr_irq_handler (xnintr_clock_handler)
:|func     -667+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -663   xnpod_announce_tick (xnintr_irq_handler)
:|func     -663   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func     -663+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -660   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func     -660   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]  -660   xnpod_resume_thread (xnthread_periodic_handler)
:|func     -659+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -656+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -651   xnpod_schedule (xnintr_irq_handler)
:|[11819]  -651   xnpod_schedule (xnintr_irq_handler)
:|func     -650+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -647+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -644   __switch_to (xnpod_schedule)
:|[11793]  -643   xnpod_schedule (xnpod_suspend_thread)
:|func     -643+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -639   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end      -639   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin    -639   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -639   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -638   __ipipe_syscall_root (sysenter_past_esp)
: func     -638   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -638   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -637   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -637   hisyscall_event (__ipipe_dispatch_event)
: func     -637   __rt_timer_tsc (hisyscall_event)
: func     -637   rt_timer_tsc (__rt_timer_tsc)
: func     -637   rthal_get_8254_tsc (rt_timer_tsc)
:|begin    -637+  rthal_get_8254_tsc (rt_timer_tsc)
:|end      -633   rthal_get_8254_tsc (rt_timer_tsc)
: func     -633   __copy_to_user_ll (__rt_timer_tsc)
:|begin    -633   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -633   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -633   __ipipe_syscall_root (sysenter_past_esp)
: func     -633   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -632   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -632   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -632   hisyscall_event (__ipipe_dispatch_event)
: func     -632   __rt_task_wait_period (hisyscall_event)
: func     -632   rt_task_wait_period (__rt_task_wait_period)
: func     -632   xnpod_wait_thread_period (rt_task_wait_period)
:|begin    -632   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -631+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -628   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -628   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -628   xnpod_schedule (xnpod_suspend_thread)
:|func     -628+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -624+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -621   __switch_to (xnpod_schedule)
:|[11819]  -621   xnpod_schedule (xnintr_irq_handler)
:|func     -620+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -617+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -614   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -613   common_interrupt (__ipipe_trace)
:|func     -613   __ipipe_unstall_iret_root (restore_raw)
:|end      -613   __ipipe_unstall_iret_root (restore_raw)
: func     -613   page_remove_rmap (zap_pte_range)
: func     -612   free_page_and_swap_cache (zap_pte_range)
: func     -612   put_page (free_page_and_swap_cache)
: func     -612   vm_normal_page (zap_pte_range)
: func     -612   mark_page_accessed (zap_pte_range)
: func     -612   page_remove_rmap (zap_pte_range)
: func     -612   free_page_and_swap_cache (zap_pte_range)
: func     -612   put_page (free_page_and_swap_cache)
: func     -611   vm_normal_page (zap_pte_range)
: func     -611   mark_page_accessed (zap_pte_range)
: func     -611   page_remove_rmap (zap_pte_range)
: func     -611   free_page_and_swap_cache (zap_pte_range)
: func     -611   put_page (free_page_and_swap_cache)
: func     -611   vm_normal_page (zap_pte_range)
: func     -611   mark_page_accessed (zap_pte_range)
: func     -610   page_remove_rmap (zap_pte_range)
: func     -610   free_page_and_swap_cache (zap_pte_range)
: func     -610   put_page (free_page_and_swap_cache)
: func     -610   vm_normal_page (zap_pte_range)
: func     -610   mark_page_accessed (zap_pte_range)
: func     -610   page_remove_rmap (zap_pte_range)
: func     -610   free_page_and_swap_cache (zap_pte_range)
: func     -610   put_page (free_page_and_swap_cache)
: func     -609   vm_normal_page (zap_pte_range)
: func     -609   mark_page_accessed (zap_pte_range)
: func     -609   page_remove_rmap (zap_pte_range)
: func     -609   free_page_and_swap_cache (zap_pte_range)
: func     -609   put_page (free_page_and_swap_cache)
: func     -609   vm_normal_page (zap_pte_range)
: func     -609   mark_page_accessed (zap_pte_range)
: func     -608   page_remove_rmap (zap_pte_range)
: func     -608   free_page_and_swap_cache (zap_pte_range)
: func     -608   put_page (free_page_and_swap_cache)
: func     -608   vm_normal_page (zap_pte_range)
: func     -608   mark_page_accessed (zap_pte_range)
: func     -608   page_remove_rmap (zap_pte_range)
: func     -608   free_page_and_swap_cache (zap_pte_range)
: func     -608   put_page (free_page_and_swap_cache)
: func     -607   vm_normal_page (zap_pte_range)
: func     -607   mark_page_accessed (zap_pte_range)
: func     -607   page_remove_rmap (zap_pte_range)
: func     -607   free_page_and_swap_cache (zap_pte_range)
: func     -607   put_page (free_page_and_swap_cache)
: func     -607   vm_normal_page (zap_pte_range)
: func     -607   mark_page_accessed (zap_pte_range)
: func     -606   page_remove_rmap (zap_pte_range)
: func     -606   free_page_and_swap_cache (zap_pte_range)
: func     -606   put_page (free_page_and_swap_cache)
: func     -606   vm_normal_page (zap_pte_range)
: func     -606   mark_page_accessed (zap_pte_range)
: func     -606   page_remove_rmap (zap_pte_range)
: func     -606   free_page_and_swap_cache (zap_pte_range)
: func     -606   put_page (free_page_and_swap_cache)
: func     -605   vm_normal_page (zap_pte_range)
: func     -605   mark_page_accessed (zap_pte_range)
: func     -605   page_remove_rmap (zap_pte_range)
: func     -605   free_page_and_swap_cache (zap_pte_range)
: func     -605   put_page (free_page_and_swap_cache)
: func     -605   vm_normal_page (zap_pte_range)
: func     -604   mark_page_accessed (zap_pte_range)
: func     -604   page_remove_rmap (zap_pte_range)
: func     -604   free_page_and_swap_cache (zap_pte_range)
: func     -604   put_page (free_page_and_swap_cache)
: func     -604   vm_normal_page (zap_pte_range)
: func     -604   mark_page_accessed (zap_pte_range)
: func     -604   page_remove_rmap (zap_pte_range)
: func     -604   free_page_and_swap_cache (zap_pte_range)
: func     -603   put_page (free_page_and_swap_cache)
: func     -603   vm_normal_page (zap_pte_range)
: func     -603   mark_page_accessed (zap_pte_range)
: func     -603   page_remove_rmap (zap_pte_range)
: func     -603   free_page_and_swap_cache (zap_pte_range)
: func     -603   put_page (free_page_and_swap_cache)
: func     -603   vm_normal_page (zap_pte_range)
: func     -602   mark_page_accessed (zap_pte_range)
: func     -602   page_remove_rmap (zap_pte_range)
: func     -602   free_page_and_swap_cache (zap_pte_range)
: func     -602   put_page (free_page_and_swap_cache)
: func     -602   vm_normal_page (zap_pte_range)
: func     -602   mark_page_accessed (zap_pte_range)
: func     -602   page_remove_rmap (zap_pte_range)
: func     -602   free_page_and_swap_cache (zap_pte_range)
: func     -601   put_page (free_page_and_swap_cache)
: func     -601   vm_normal_page (zap_pte_range)
: func     -601   mark_page_accessed (zap_pte_range)
: func     -601   page_remove_rmap (zap_pte_range)
: func     -601   free_page_and_swap_cache (zap_pte_range)
: func     -601   put_page (free_page_and_swap_cache)
: func     -601   vm_normal_page (zap_pte_range)
: func     -600   mark_page_accessed (zap_pte_range)
: func     -600   page_remove_rmap (zap_pte_range)
: func     -600   free_page_and_swap_cache (zap_pte_range)
: func     -600   put_page (free_page_and_swap_cache)
: func     -600   vm_normal_page (zap_pte_range)
: func     -600   mark_page_accessed (zap_pte_range)
: func     -599   page_remove_rmap (zap_pte_range)
: func     -599   free_page_and_swap_cache (zap_pte_range)
: func     -599   put_page (free_page_and_swap_cache)
: func     -599   vm_normal_page (zap_pte_range)
: func     -599   mark_page_accessed (zap_pte_range)
: func     -599   page_remove_rmap (zap_pte_range)
: func     -599   free_page_and_swap_cache (zap_pte_range)
: func     -599   put_page (free_page_and_swap_cache)
: func     -598   vm_normal_page (zap_pte_range)
: func     -598   mark_page_accessed (zap_pte_range)
: func     -598   page_remove_rmap (zap_pte_range)
: func     -598   free_page_and_swap_cache (zap_pte_range)
: func     -598   put_page (free_page_and_swap_cache)
: func     -598   vm_normal_page (zap_pte_range)
: func     -598   mark_page_accessed (zap_pte_range)
: func     -598   page_remove_rmap (zap_pte_range)
: func     -597   free_page_and_swap_cache (zap_pte_range)
: func     -597   put_page (free_page_and_swap_cache)
: func     -597   vm_normal_page (zap_pte_range)
: func     -597   mark_page_accessed (zap_pte_range)
: func     -597   page_remove_rmap (zap_pte_range)
: func     -597   free_page_and_swap_cache (zap_pte_range)
: func     -597   put_page (free_page_and_swap_cache)
: func     -597   vm_normal_page (zap_pte_range)
: func     -597   mark_page_accessed (zap_pte_range)
: func     -596   page_remove_rmap (zap_pte_range)
: func     -596   free_page_and_swap_cache (zap_pte_range)
: func     -596   put_page (free_page_and_swap_cache)
: func     -596   vm_normal_page (zap_pte_range)
: func     -596   mark_page_accessed (zap_pte_range)
: func     -596   page_remove_rmap (zap_pte_range)
: func     -596   free_page_and_swap_cache (zap_pte_range)
: func     -596   put_page (free_page_and_swap_cache)
: func     -595   vm_normal_page (zap_pte_range)
: func     -595   mark_page_accessed (zap_pte_range)
: func     -595   page_remove_rmap (zap_pte_range)
: func     -595   free_page_and_swap_cache (zap_pte_range)
: func     -595   put_page (free_page_and_swap_cache)
: func     -595   vm_normal_page (zap_pte_range)
: func     -595   mark_page_accessed (zap_pte_range)
: func     -595   page_remove_rmap (zap_pte_range)
: func     -594   free_page_and_swap_cache (zap_pte_range)
: func     -594   put_page (free_page_and_swap_cache)
: func     -594   vm_normal_page (zap_pte_range)
: func     -594   mark_page_accessed (zap_pte_range)
: func     -594   page_remove_rmap (zap_pte_range)
: func     -594   free_page_and_swap_cache (zap_pte_range)
: func     -594   put_page (free_page_and_swap_cache)
: func     -593   vm_normal_page (zap_pte_range)
: func     -593   mark_page_accessed (zap_pte_range)
: func     -593   page_remove_rmap (zap_pte_range)
: func     -593   free_page_and_swap_cache (zap_pte_range)
: func     -593   put_page (free_page_and_swap_cache)
: func     -593   vm_normal_page (zap_pte_range)
: func     -592   mark_page_accessed (zap_pte_range)
: func     -592   page_remove_rmap (zap_pte_range)
: func     -592   free_page_and_swap_cache (zap_pte_range)
: func     -592   put_page (free_page_and_swap_cache)
: func     -592   vm_normal_page (zap_pte_range)
: func     -592   mark_page_accessed (zap_pte_range)
: func     -592   page_remove_rmap (zap_pte_range)
: func     -591   free_page_and_swap_cache (zap_pte_range)
: func     -591   put_page (free_page_and_swap_cache)
: func     -591   vm_normal_page (zap_pte_range)
: func     -591   mark_page_accessed (zap_pte_range)
: func     -591   page_remove_rmap (zap_pte_range)
: func     -591   free_page_and_swap_cache (zap_pte_range)
: func     -591   put_page (free_page_and_swap_cache)
: func     -591   vm_normal_page (zap_pte_range)
: func     -590   mark_page_accessed (zap_pte_range)
: func     -590   page_remove_rmap (zap_pte_range)
: func     -590   free_page_and_swap_cache (zap_pte_range)
: func     -590   put_page (free_page_and_swap_cache)
: func     -590   vm_normal_page (zap_pte_range)
: func     -590   mark_page_accessed (zap_pte_range)
: func     -589   page_remove_rmap (zap_pte_range)
: func     -589   free_page_and_swap_cache (zap_pte_range)
: func     -589   put_page (free_page_and_swap_cache)
: func     -589   vm_normal_page (zap_pte_range)
: func     -588   mark_page_accessed (zap_pte_range)
: func     -588   page_remove_rmap (zap_pte_range)
: func     -588   free_page_and_swap_cache (zap_pte_range)
: func     -588   put_page (free_page_and_swap_cache)
: func     -588   vm_normal_page (zap_pte_range)
: func     -588   mark_page_accessed (zap_pte_range)
: func     -588   page_remove_rmap (zap_pte_range)
: func     -588   free_page_and_swap_cache (zap_pte_range)
: func     -587   put_page (free_page_and_swap_cache)
: func     -587   vm_normal_page (zap_pte_range)
: func     -587   mark_page_accessed (zap_pte_range)
: func     -587   page_remove_rmap (zap_pte_range)
: func     -587   free_page_and_swap_cache (zap_pte_range)
: func     -587   put_page (free_page_and_swap_cache)
: func     -587   vm_normal_page (zap_pte_range)
: func     -586   mark_page_accessed (zap_pte_range)
: func     -586   page_remove_rmap (zap_pte_range)
: func     -586   free_page_and_swap_cache (zap_pte_range)
: func     -586   put_page (free_page_and_swap_cache)
: func     -586   vm_normal_page (zap_pte_range)
: func     -586   mark_page_accessed (zap_pte_range)
: func     -586   page_remove_rmap (zap_pte_range)
: func     -585   free_page_and_swap_cache (zap_pte_range)
: func     -585   put_page (free_page_and_swap_cache)
: func     -585   vm_normal_page (zap_pte_range)
: func     -585   mark_page_accessed (zap_pte_range)
: func     -585   page_remove_rmap (zap_pte_range)
: func     -585   free_page_and_swap_cache (zap_pte_range)
: func     -585   put_page (free_page_and_swap_cache)
: func     -584   vm_normal_page (zap_pte_range)
: func     -584   mark_page_accessed (zap_pte_range)
: func     -584   page_remove_rmap (zap_pte_range)
: func     -584   free_page_and_swap_cache (zap_pte_range)
: func     -584   put_page (free_page_and_swap_cache)
: func     -583   vm_normal_page (zap_pte_range)
: func     -583   mark_page_accessed (zap_pte_range)
: func     -583   page_remove_rmap (zap_pte_range)
: func     -583   free_page_and_swap_cache (zap_pte_range)
: func     -583   put_page (free_page_and_swap_cache)
: func     -582   vm_normal_page (zap_pte_range)
: func     -582   mark_page_accessed (zap_pte_range)
: func     -582   page_remove_rmap (zap_pte_range)
: func     -582   free_page_and_swap_cache (zap_pte_range)
: func     -582   put_page (free_page_and_swap_cache)
: func     -582   vm_normal_page (zap_pte_range)
: func     -581   mark_page_accessed (zap_pte_range)
: func     -581   page_remove_rmap (zap_pte_range)
: func     -581   free_page_and_swap_cache (zap_pte_range)
: func     -581   put_page (free_page_and_swap_cache)
: func     -581   vm_normal_page (zap_pte_range)
: func     -581   mark_page_accessed (zap_pte_range)
: func     -581   page_remove_rmap (zap_pte_range)
: func     -581   free_page_and_swap_cache (zap_pte_range)
: func     -580   put_page (free_page_and_swap_cache)
: func     -580   vm_normal_page (zap_pte_range)
: func     -580   mark_page_accessed (zap_pte_range)
: func     -580   page_remove_rmap (zap_pte_range)
: func     -580   free_page_and_swap_cache (zap_pte_range)
: func     -580   put_page (free_page_and_swap_cache)
: func     -579   vm_normal_page (zap_pte_range)
: func     -579   mark_page_accessed (zap_pte_range)
: func     -579   page_remove_rmap (zap_pte_range)
: func     -579   free_page_and_swap_cache (zap_pte_range)
: func     -579   put_page (free_page_and_swap_cache)
: func     -579   unmap_page_range (unmap_vmas)
: func     -578   zap_pte_range (unmap_page_range)
: func     -578   page_address (zap_pte_range)
: func     -578   vm_normal_page (zap_pte_range)
: func     -578   page_remove_rmap (zap_pte_range)
: func     -578   __mod_page_state_offset (page_remove_rmap)
: func     -577   free_page_and_swap_cache (zap_pte_range)
: func     -577   put_page (free_page_and_swap_cache)
: func     -577   __page_cache_release (put_page)
: func     -577   __ipipe_test_and_stall_root (__page_cache_release)
: func     -577   __ipipe_restore_root (__page_cache_release)
: func     -577   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -577   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -576   __ipipe_unstall_root (__ipipe_restore_root)
: func     -576   free_hot_page (__page_cache_release)
: func     -576   free_hot_cold_page (free_hot_page)
: func     -576   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -576   __mod_page_state_offset (free_hot_cold_page)
: func     -576   __ipipe_restore_root (free_hot_cold_page)
: func     -576   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -576   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -575   __ipipe_unstall_root (__ipipe_restore_root)
: func     -575   unmap_page_range (unmap_vmas)
: func     -575   zap_pte_range (unmap_page_range)
: func     -575   page_address (zap_pte_range)
: func     -575   vm_normal_page (zap_pte_range)
: func     -574   page_remove_rmap (zap_pte_range)
: func     -574   __mod_page_state_offset (page_remove_rmap)
: func     -574   free_page_and_swap_cache (zap_pte_range)
: func     -574   put_page (free_page_and_swap_cache)
: func     -574   __page_cache_release (put_page)
: func     -574   __ipipe_test_and_stall_root (__page_cache_release)
: func     -574   __ipipe_restore_root (__page_cache_release)
: func     -574   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -573   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -573   __ipipe_unstall_root (__ipipe_restore_root)
: func     -573   free_hot_page (__page_cache_release)
: func     -573   free_hot_cold_page (free_hot_page)
: func     -573   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -573   __mod_page_state_offset (free_hot_cold_page)
: func     -573   __ipipe_restore_root (free_hot_cold_page)
: func     -573   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -573   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -572   __ipipe_unstall_root (__ipipe_restore_root)
: func     -572   vm_normal_page (zap_pte_range)
: func     -572   page_remove_rmap (zap_pte_range)
: func     -572   __mod_page_state_offset (page_remove_rmap)
: func     -572   free_page_and_swap_cache (zap_pte_range)
: func     -572   put_page (free_page_and_swap_cache)
: func     -572   __page_cache_release (put_page)
: func     -571   __ipipe_test_and_stall_root (__page_cache_release)
: func     -571   __ipipe_restore_root (__page_cache_release)
: func     -571   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -571   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -571   __ipipe_unstall_root (__ipipe_restore_root)
: func     -571+  free_hot_page (__page_cache_release)
:|begin    -570   common_interrupt (__ipipe_trace)
:|func     -569   __ipipe_handle_irq (common_interrupt)
:|func     -569   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func     -569   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func     -569   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func     -568   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func     -568   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func     -568   xnintr_irq_handler (xnintr_clock_handler)
:|func     -568+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -564   xnpod_announce_tick (xnintr_irq_handler)
:|func     -564   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func     -564+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -561   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func     -561   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]  -561   xnpod_resume_thread (xnthread_periodic_handler)
:|func     -560+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -557+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -552   xnpod_schedule (xnintr_irq_handler)
:|[11819]  -552   xnpod_schedule (xnintr_irq_handler)
:|func     -552+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -548+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -545   __switch_to (xnpod_schedule)
:|[11793]  -544   xnpod_schedule (xnpod_suspend_thread)
:|func     -544+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -541   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end      -540   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin    -540   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -540   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -539   __ipipe_syscall_root (sysenter_past_esp)
: func     -539   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -539   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -539   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -538   hisyscall_event (__ipipe_dispatch_event)
: func     -538   __rt_timer_tsc (hisyscall_event)
: func     -538   rt_timer_tsc (__rt_timer_tsc)
: func     -538   rthal_get_8254_tsc (rt_timer_tsc)
:|begin    -538+  rthal_get_8254_tsc (rt_timer_tsc)
:|end      -535   rthal_get_8254_tsc (rt_timer_tsc)
: func     -534   __copy_to_user_ll (__rt_timer_tsc)
:|begin    -534   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -534   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -534   __ipipe_syscall_root (sysenter_past_esp)
: func     -534   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -534   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -533   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -533   hisyscall_event (__ipipe_dispatch_event)
: func     -533   __rt_task_wait_period (hisyscall_event)
: func     -533   rt_task_wait_period (__rt_task_wait_period)
: func     -533   xnpod_wait_thread_period (rt_task_wait_period)
:|begin    -533   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -533+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -529   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -529   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -529   xnpod_schedule (xnpod_suspend_thread)
:|func     -529+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -526+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -522   __switch_to (xnpod_schedule)
:|[11819]  -522   xnpod_schedule (xnintr_irq_handler)
:|func     -521+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -518+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -515   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -515   common_interrupt (__ipipe_trace)
:|func     -514   __ipipe_unstall_iret_root (restore_raw)
:|end      -514   __ipipe_unstall_iret_root (restore_raw)
: func     -514   free_hot_cold_page (free_hot_page)
: func     -514   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -514   __mod_page_state_offset (free_hot_cold_page)
: func     -513   __ipipe_restore_root (free_hot_cold_page)
: func     -513   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -513   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -513   __ipipe_unstall_root (__ipipe_restore_root)
: func     -513   vm_normal_page (zap_pte_range)
: func     -512   page_remove_rmap (zap_pte_range)
: func     -512   __mod_page_state_offset (page_remove_rmap)
: func     -512   free_page_and_swap_cache (zap_pte_range)
: func     -512   put_page (free_page_and_swap_cache)
: func     -512   __page_cache_release (put_page)
: func     -512   __ipipe_test_and_stall_root (__page_cache_release)
: func     -512   __ipipe_restore_root (__page_cache_release)
: func     -511   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -511   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -511   __ipipe_unstall_root (__ipipe_restore_root)
: func     -511   free_hot_page (__page_cache_release)
: func     -511   free_hot_cold_page (free_hot_page)
: func     -511   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -511   __mod_page_state_offset (free_hot_cold_page)
: func     -511   __ipipe_restore_root (free_hot_cold_page)
: func     -510   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -510   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -510   __ipipe_unstall_root (__ipipe_restore_root)
: func     -510   unmap_page_range (unmap_vmas)
: func     -510   zap_pte_range (unmap_page_range)
: func     -510   page_address (zap_pte_range)
: func     -509   vm_normal_page (zap_pte_range)
: func     -509   page_remove_rmap (zap_pte_range)
: func     -509   __mod_page_state_offset (page_remove_rmap)
: func     -509   free_page_and_swap_cache (zap_pte_range)
: func     -509   put_page (free_page_and_swap_cache)
: func     -509   __page_cache_release (put_page)
: func     -509   __ipipe_test_and_stall_root (__page_cache_release)
: func     -508   __ipipe_restore_root (__page_cache_release)
: func     -508   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -508   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -508   __ipipe_unstall_root (__ipipe_restore_root)
: func     -508   free_hot_page (__page_cache_release)
: func     -508   free_hot_cold_page (free_hot_page)
: func     -508   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -508   __mod_page_state_offset (free_hot_cold_page)
: func     -508   __ipipe_restore_root (free_hot_cold_page)
: func     -507   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -507   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -507   __ipipe_unstall_root (__ipipe_restore_root)
: func     -507   vm_normal_page (zap_pte_range)
: func     -507   page_remove_rmap (zap_pte_range)
: func     -507   __mod_page_state_offset (page_remove_rmap)
: func     -507   free_page_and_swap_cache (zap_pte_range)
: func     -507   put_page (free_page_and_swap_cache)
: func     -506   __page_cache_release (put_page)
: func     -506   __ipipe_test_and_stall_root (__page_cache_release)
: func     -506   __ipipe_restore_root (__page_cache_release)
: func     -506   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -506   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -506   __ipipe_unstall_root (__ipipe_restore_root)
: func     -506   free_hot_page (__page_cache_release)
: func     -506   free_hot_cold_page (free_hot_page)
: func     -505   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -505   __mod_page_state_offset (free_hot_cold_page)
: func     -505   __ipipe_restore_root (free_hot_cold_page)
: func     -505   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -505   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -505   __ipipe_unstall_root (__ipipe_restore_root)
: func     -505   vm_normal_page (zap_pte_range)
: func     -505   page_remove_rmap (zap_pte_range)
: func     -505   __mod_page_state_offset (page_remove_rmap)
: func     -504   free_page_and_swap_cache (zap_pte_range)
: func     -504   put_page (free_page_and_swap_cache)
: func     -504   __page_cache_release (put_page)
: func     -504   __ipipe_test_and_stall_root (__page_cache_release)
: func     -504   __ipipe_restore_root (__page_cache_release)
: func     -504   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -504   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -504   __ipipe_unstall_root (__ipipe_restore_root)
: func     -503   free_hot_page (__page_cache_release)
: func     -503   free_hot_cold_page (free_hot_page)
: func     -503   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -503   __mod_page_state_offset (free_hot_cold_page)
: func     -503   __ipipe_restore_root (free_hot_cold_page)
: func     -503   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -503   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -503   __ipipe_unstall_root (__ipipe_restore_root)
: func     -502   unmap_page_range (unmap_vmas)
: func     -502   zap_pte_range (unmap_page_range)
: func     -502   page_address (zap_pte_range)
: func     -502   vm_normal_page (zap_pte_range)
: func     -502   mark_page_accessed (zap_pte_range)
: func     -501   page_remove_rmap (zap_pte_range)
: func     -501   free_page_and_swap_cache (zap_pte_range)
: func     -501   put_page (free_page_and_swap_cache)
: func     -501   vm_normal_page (zap_pte_range)
: func     -501   mark_page_accessed (zap_pte_range)
: func     -501   page_remove_rmap (zap_pte_range)
: func     -501   free_page_and_swap_cache (zap_pte_range)
: func     -500   put_page (free_page_and_swap_cache)
: func     -500   vm_normal_page (zap_pte_range)
: func     -500   mark_page_accessed (zap_pte_range)
: func     -500   page_remove_rmap (zap_pte_range)
: func     -500   free_page_and_swap_cache (zap_pte_range)
: func     -500   put_page (free_page_and_swap_cache)
: func     -500   vm_normal_page (zap_pte_range)
: func     -499   mark_page_accessed (zap_pte_range)
: func     -499   page_remove_rmap (zap_pte_range)
: func     -499   free_page_and_swap_cache (zap_pte_range)
: func     -499   put_page (free_page_and_swap_cache)
: func     -499   vm_normal_page (zap_pte_range)
: func     -499   mark_page_accessed (zap_pte_range)
: func     -499   page_remove_rmap (zap_pte_range)
: func     -498   free_page_and_swap_cache (zap_pte_range)
: func     -498   put_page (free_page_and_swap_cache)
: func     -498   vm_normal_page (zap_pte_range)
: func     -498   mark_page_accessed (zap_pte_range)
: func     -498   page_remove_rmap (zap_pte_range)
: func     -498   free_page_and_swap_cache (zap_pte_range)
: func     -498   put_page (free_page_and_swap_cache)
: func     -498   vm_normal_page (zap_pte_range)
: func     -497   mark_page_accessed (zap_pte_range)
: func     -497   page_remove_rmap (zap_pte_range)
: func     -497   free_page_and_swap_cache (zap_pte_range)
: func     -497   put_page (free_page_and_swap_cache)
: func     -497   vm_normal_page (zap_pte_range)
: func     -497   mark_page_accessed (zap_pte_range)
: func     -497   page_remove_rmap (zap_pte_range)
: func     -496   free_page_and_swap_cache (zap_pte_range)
: func     -496   put_page (free_page_and_swap_cache)
: func     -496   vm_normal_page (zap_pte_range)
: func     -496   mark_page_accessed (zap_pte_range)
: func     -496   page_remove_rmap (zap_pte_range)
: func     -496   free_page_and_swap_cache (zap_pte_range)
: func     -496   put_page (free_page_and_swap_cache)
: func     -496   vm_normal_page (zap_pte_range)
: func     -495   mark_page_accessed (zap_pte_range)
: func     -495   page_remove_rmap (zap_pte_range)
: func     -495   free_page_and_swap_cache (zap_pte_range)
: func     -495   put_page (free_page_and_swap_cache)
: func     -495   vm_normal_page (zap_pte_range)
: func     -495   mark_page_accessed (zap_pte_range)
: func     -494   page_remove_rmap (zap_pte_range)
: func     -494   free_page_and_swap_cache (zap_pte_range)
: func     -494   put_page (free_page_and_swap_cache)
: func     -494   vm_normal_page (zap_pte_range)
: func     -494   mark_page_accessed (zap_pte_range)
: func     -494   page_remove_rmap (zap_pte_range)
: func     -494   free_page_and_swap_cache (zap_pte_range)
: func     -494   put_page (free_page_and_swap_cache)
: func     -493   vm_normal_page (zap_pte_range)
: func     -493   mark_page_accessed (zap_pte_range)
: func     -493   page_remove_rmap (zap_pte_range)
: func     -493   free_page_and_swap_cache (zap_pte_range)
: func     -493   put_page (free_page_and_swap_cache)
: func     -493   vm_normal_page (zap_pte_range)
: func     -493   mark_page_accessed (zap_pte_range)
: func     -492   page_remove_rmap (zap_pte_range)
: func     -492   free_page_and_swap_cache (zap_pte_range)
: func     -492   put_page (free_page_and_swap_cache)
: func     -492   vm_normal_page (zap_pte_range)
: func     -492   mark_page_accessed (zap_pte_range)
: func     -492   page_remove_rmap (zap_pte_range)
: func     -492   free_page_and_swap_cache (zap_pte_range)
: func     -492   put_page (free_page_and_swap_cache)
: func     -491   vm_normal_page (zap_pte_range)
: func     -491   mark_page_accessed (zap_pte_range)
: func     -491   page_remove_rmap (zap_pte_range)
: func     -491   free_page_and_swap_cache (zap_pte_range)
: func     -491   put_page (free_page_and_swap_cache)
: func     -491   vm_normal_page (zap_pte_range)
: func     -490   mark_page_accessed (zap_pte_range)
: func     -490   page_remove_rmap (zap_pte_range)
: func     -490   free_page_and_swap_cache (zap_pte_range)
: func     -490   put_page (free_page_and_swap_cache)
: func     -490   vm_normal_page (zap_pte_range)
: func     -490   mark_page_accessed (zap_pte_range)
: func     -490   page_remove_rmap (zap_pte_range)
: func     -490   free_page_and_swap_cache (zap_pte_range)
: func     -489   put_page (free_page_and_swap_cache)
: func     -489   vm_normal_page (zap_pte_range)
: func     -489   mark_page_accessed (zap_pte_range)
: func     -489   page_remove_rmap (zap_pte_range)
: func     -489   free_page_and_swap_cache (zap_pte_range)
: func     -489   put_page (free_page_and_swap_cache)
: func     -489   vm_normal_page (zap_pte_range)
: func     -489   mark_page_accessed (zap_pte_range)
: func     -488   page_remove_rmap (zap_pte_range)
: func     -488   free_page_and_swap_cache (zap_pte_range)
: func     -488   put_page (free_page_and_swap_cache)
: func     -488   unmap_page_range (unmap_vmas)
: func     -488   zap_pte_range (unmap_page_range)
: func     -488   page_address (zap_pte_range)
: func     -488   vm_normal_page (zap_pte_range)
: func     -487   page_remove_rmap (zap_pte_range)
: func     -487   __mod_page_state_offset (page_remove_rmap)
: func     -487   free_page_and_swap_cache (zap_pte_range)
: func     -487   put_page (free_page_and_swap_cache)
: func     -487   __page_cache_release (put_page)
: func     -487   __ipipe_test_and_stall_root (__page_cache_release)
: func     -486   __ipipe_restore_root (__page_cache_release)
: func     -486   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -486   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -486   __ipipe_unstall_root (__ipipe_restore_root)
: func     -486   free_hot_page (__page_cache_release)
: func     -486   free_hot_cold_page (free_hot_page)
: func     -486   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -486   __mod_page_state_offset (free_hot_cold_page)
: func     -486   __ipipe_restore_root (free_hot_cold_page)
: func     -485   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -485   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -485   __ipipe_unstall_root (__ipipe_restore_root)
: func     -485   vm_normal_page (zap_pte_range)
: func     -485   page_remove_rmap (zap_pte_range)
: func     -485   __mod_page_state_offset (page_remove_rmap)
: func     -485   free_page_and_swap_cache (zap_pte_range)
: func     -485   put_page (free_page_and_swap_cache)
: func     -484   __page_cache_release (put_page)
: func     -484   __ipipe_test_and_stall_root (__page_cache_release)
: func     -484   __ipipe_restore_root (__page_cache_release)
: func     -484   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -484   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -484   __ipipe_unstall_root (__ipipe_restore_root)
: func     -484   free_hot_page (__page_cache_release)
: func     -484   free_hot_cold_page (free_hot_page)
: func     -483   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -483   __mod_page_state_offset (free_hot_cold_page)
: func     -483   __ipipe_restore_root (free_hot_cold_page)
: func     -483   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -483   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -483   __ipipe_unstall_root (__ipipe_restore_root)
: func     -482   unmap_page_range (unmap_vmas)
: func     -482   zap_pte_range (unmap_page_range)
: func     -482   page_address (zap_pte_range)
: func     -482   vm_normal_page (zap_pte_range)
: func     -482   page_remove_rmap (zap_pte_range)
: func     -481   __mod_page_state_offset (page_remove_rmap)
: func     -481   free_page_and_swap_cache (zap_pte_range)
: func     -481   put_page (free_page_and_swap_cache)
: func     -481   __page_cache_release (put_page)
: func     -481   __ipipe_test_and_stall_root (__page_cache_release)
: func     -481   __ipipe_restore_root (__page_cache_release)
: func     -481   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -481   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -481   __ipipe_unstall_root (__ipipe_restore_root)
: func     -480   free_hot_page (__page_cache_release)
: func     -480   free_hot_cold_page (free_hot_page)
: func     -480   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -480   __mod_page_state_offset (free_hot_cold_page)
: func     -480   __ipipe_restore_root (free_hot_cold_page)
: func     -480   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -480   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -480   __ipipe_unstall_root (__ipipe_restore_root)
: func     -479   vm_normal_page (zap_pte_range)
: func     -479   page_remove_rmap (zap_pte_range)
: func     -479   __mod_page_state_offset (page_remove_rmap)
: func     -479   free_page_and_swap_cache (zap_pte_range)
: func     -479   put_page (free_page_and_swap_cache)
: func     -479   __page_cache_release (put_page)
: func     -479   __ipipe_test_and_stall_root (__page_cache_release)
: func     -479   __ipipe_restore_root (__page_cache_release)
: func     -478   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -478   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -478   __ipipe_unstall_root (__ipipe_restore_root)
: func     -478   free_hot_page (__page_cache_release)
: func     -478   free_hot_cold_page (free_hot_page)
: func     -478   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -478   __mod_page_state_offset (free_hot_cold_page)
: func     -478   __ipipe_restore_root (free_hot_cold_page)
: func     -478   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -477   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -477   __ipipe_unstall_root (__ipipe_restore_root)
: func     -477   vm_normal_page (zap_pte_range)
: func     -477   page_remove_rmap (zap_pte_range)
: func     -477   __mod_page_state_offset (page_remove_rmap)
: func     -477   free_page_and_swap_cache (zap_pte_range)
: func     -477   put_page (free_page_and_swap_cache)
: func     -477   __page_cache_release (put_page)
: func     -476   __ipipe_test_and_stall_root (__page_cache_release)
: func     -476   __ipipe_restore_root (__page_cache_release)
: func     -476   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -476   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -476   __ipipe_unstall_root (__ipipe_restore_root)
: func     -476   free_hot_page (__page_cache_release)
: func     -476   free_hot_cold_page (free_hot_page)
: func     -476   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -475   __mod_page_state_offset (free_hot_cold_page)
: func     -475   __ipipe_restore_root (free_hot_cold_page)
: func     -475   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -475   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -475   __ipipe_unstall_root (__ipipe_restore_root)
: func     -475   free_pgtables (exit_mmap)
: func     -474   anon_vma_unlink (free_pgtables)
: func     -474   unlink_file_vma (free_pgtables)
: func     -474   __remove_shared_vm_struct (unlink_file_vma)
: func     -473   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -472   prio_tree_remove (vma_prio_tree_remove)
: func     -472   prio_tree_replace (prio_tree_remove)
: func     -471+  anon_vma_unlink (free_pgtables)
:|begin    -470   common_interrupt (anon_vma_unlink)
:|func     -470   __ipipe_handle_irq (common_interrupt)
:|func     -470   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func     -469   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func     -469   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func     -468   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func     -468   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func     -468   xnintr_irq_handler (xnintr_clock_handler)
:|func     -468+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -465   xnpod_announce_tick (xnintr_irq_handler)
:|func     -465   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func     -464+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -461   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func     -461   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]  -461   xnpod_resume_thread (xnthread_periodic_handler)
:|func     -461+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -458+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -452   xnpod_schedule (xnintr_irq_handler)
:|[11819]  -452   xnpod_schedule (xnintr_irq_handler)
:|func     -452+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -449+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -445   __switch_to (xnpod_schedule)
:|[11793]  -445   xnpod_schedule (xnpod_suspend_thread)
:|func     -444+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -441   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end      -441   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin    -441   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -440   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -440   __ipipe_syscall_root (sysenter_past_esp)
: func     -439   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -439   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -439   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -439   hisyscall_event (__ipipe_dispatch_event)
: func     -439   __rt_timer_tsc (hisyscall_event)
: func     -439   rt_timer_tsc (__rt_timer_tsc)
: func     -438   rthal_get_8254_tsc (rt_timer_tsc)
:|begin    -438+  rthal_get_8254_tsc (rt_timer_tsc)
:|end      -435   rthal_get_8254_tsc (rt_timer_tsc)
: func     -435   __copy_to_user_ll (__rt_timer_tsc)
:|begin    -435   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -435   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -434   __ipipe_syscall_root (sysenter_past_esp)
: func     -434   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -434   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -434   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -434   hisyscall_event (__ipipe_dispatch_event)
: func     -434   __rt_task_wait_period (hisyscall_event)
: func     -433   rt_task_wait_period (__rt_task_wait_period)
: func     -433   xnpod_wait_thread_period (rt_task_wait_period)
:|begin    -433   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -433+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -430   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -430   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -429   xnpod_schedule (xnpod_suspend_thread)
:|func     -429+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -426+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -423   __switch_to (xnpod_schedule)
:|[11819]  -422   xnpod_schedule (xnintr_irq_handler)
:|func     -422+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -418+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -415   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -415   common_interrupt (anon_vma_unlink)
:|func     -415   __ipipe_unstall_iret_root (restore_raw)
:|end      -415   __ipipe_unstall_iret_root (restore_raw)
: func     -414   kmem_cache_free (anon_vma_unlink)
: func     -414   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -414   __ipipe_restore_root (kmem_cache_free)
: func     -414   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -413   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -413   __ipipe_unstall_root (__ipipe_restore_root)
: func     -413   unlink_file_vma (free_pgtables)
: func     -413   __remove_shared_vm_struct (unlink_file_vma)
: func     -413   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -413   prio_tree_remove (vma_prio_tree_remove)
: func     -412   anon_vma_unlink (free_pgtables)
: func     -412   kmem_cache_free (anon_vma_unlink)
: func     -412   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -412   __ipipe_restore_root (kmem_cache_free)
: func     -412   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -412   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -412   __ipipe_unstall_root (__ipipe_restore_root)
: func     -411   unlink_file_vma (free_pgtables)
: func     -411   free_pgd_range (free_pgtables)
: func     -411   free_pte_range (free_pgd_range)
: func     -410   free_page_and_swap_cache (free_pte_range)
: func     -410   put_page (free_page_and_swap_cache)
: func     -410   __page_cache_release (put_page)
: func     -410   __ipipe_test_and_stall_root (__page_cache_release)
: func     -410   __ipipe_restore_root (__page_cache_release)
: func     -410   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -410   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -409   __ipipe_unstall_root (__ipipe_restore_root)
: func     -409   free_hot_page (__page_cache_release)
: func     -409   free_hot_cold_page (free_hot_page)
: func     -409   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -409   __mod_page_state_offset (free_hot_cold_page)
: func     -409   __ipipe_restore_root (free_hot_cold_page)
: func     -409   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -409   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -408   __ipipe_unstall_root (__ipipe_restore_root)
: func     -408   mod_page_state_offset (free_pte_range)
: func     -408   __ipipe_test_and_stall_root (mod_page_state_offset)
: func     -408   __ipipe_restore_root (mod_page_state_offset)
: func     -408   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -408   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -408   __ipipe_unstall_root (__ipipe_restore_root)
: func     -407   anon_vma_unlink (free_pgtables)
: func     -407   kmem_cache_free (anon_vma_unlink)
: func     -407   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -407   __ipipe_restore_root (kmem_cache_free)
: func     -407   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -407   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -406   __ipipe_unstall_root (__ipipe_restore_root)
: func     -406   unlink_file_vma (free_pgtables)
: func     -406   anon_vma_unlink (free_pgtables)
: func     -406   unlink_file_vma (free_pgtables)
: func     -406   __remove_shared_vm_struct (unlink_file_vma)
: func     -406   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -406   anon_vma_unlink (free_pgtables)
: func     -405   unlink_file_vma (free_pgtables)
: func     -405   __remove_shared_vm_struct (unlink_file_vma)
: func     -405   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -405   anon_vma_unlink (free_pgtables)
: func     -405   kmem_cache_free (anon_vma_unlink)
: func     -405   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -404   __ipipe_restore_root (kmem_cache_free)
: func     -404   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -404   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -404   __ipipe_unstall_root (__ipipe_restore_root)
: func     -404   unlink_file_vma (free_pgtables)
: func     -404   __remove_shared_vm_struct (unlink_file_vma)
: func     -404   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -404   anon_vma_unlink (free_pgtables)
: func     -403   kmem_cache_free (anon_vma_unlink)
: func     -403   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -403   __ipipe_restore_root (kmem_cache_free)
: func     -403   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -403   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -403   __ipipe_unstall_root (__ipipe_restore_root)
: func     -402   unlink_file_vma (free_pgtables)
: func     -402   anon_vma_unlink (free_pgtables)
: func     -402   unlink_file_vma (free_pgtables)
: func     -402   __remove_shared_vm_struct (unlink_file_vma)
: func     -401   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -401   anon_vma_unlink (free_pgtables)
: func     -401   kmem_cache_free (anon_vma_unlink)
: func     -401   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -401   __ipipe_restore_root (kmem_cache_free)
: func     -401   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -401   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -400   __ipipe_unstall_root (__ipipe_restore_root)
: func     -400   unlink_file_vma (free_pgtables)
: func     -400   __remove_shared_vm_struct (unlink_file_vma)
: func     -400   vma_prio_tree_remove (__remove_shared_vm_struct)
: func     -400   free_pgd_range (free_pgtables)
: func     -400   free_pte_range (free_pgd_range)
: func     -400   free_page_and_swap_cache (free_pte_range)
: func     -399   put_page (free_page_and_swap_cache)
: func     -399   __page_cache_release (put_page)
: func     -399   __ipipe_test_and_stall_root (__page_cache_release)
: func     -399   __ipipe_restore_root (__page_cache_release)
: func     -399   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -399   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -399   __ipipe_unstall_root (__ipipe_restore_root)
: func     -399   free_hot_page (__page_cache_release)
: func     -398   free_hot_cold_page (free_hot_page)
: func     -398   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -398   __mod_page_state_offset (free_hot_cold_page)
: func     -398   __ipipe_restore_root (free_hot_cold_page)
: func     -398   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -398   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -398   __ipipe_unstall_root (__ipipe_restore_root)
: func     -398   mod_page_state_offset (free_pte_range)
: func     -397   __ipipe_test_and_stall_root (mod_page_state_offset)
: func     -397   __ipipe_restore_root (mod_page_state_offset)
: func     -397   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -397   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -397   __ipipe_unstall_root (__ipipe_restore_root)
: func     -397   anon_vma_unlink (free_pgtables)
: func     -397   kmem_cache_free (anon_vma_unlink)
: func     -396   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -396   __ipipe_restore_root (kmem_cache_free)
: func     -396   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -396   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -396   __ipipe_unstall_root (__ipipe_restore_root)
: func     -396   unlink_file_vma (free_pgtables)
: func     -396   free_pgd_range (free_pgtables)
: func     -395   free_pte_range (free_pgd_range)
: func     -395   free_page_and_swap_cache (free_pte_range)
: func     -395   put_page (free_page_and_swap_cache)
: func     -395   __page_cache_release (put_page)
: func     -395   __ipipe_test_and_stall_root (__page_cache_release)
: func     -395   __ipipe_restore_root (__page_cache_release)
: func     -395   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -395   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -395   __ipipe_unstall_root (__ipipe_restore_root)
: func     -394   free_hot_page (__page_cache_release)
: func     -394   free_hot_cold_page (free_hot_page)
: func     -394   __ipipe_test_and_stall_root (free_hot_cold_page)
: func     -394   __mod_page_state_offset (free_hot_cold_page)
: func     -394   __ipipe_restore_root (free_hot_cold_page)
: func     -394   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -394   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -394   __ipipe_unstall_root (__ipipe_restore_root)
: func     -393   mod_page_state_offset (free_pte_range)
: func     -393   __ipipe_test_and_stall_root (mod_page_state_offset)
: func     -393   __ipipe_restore_root (mod_page_state_offset)
: func     -393   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -393   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -393   __ipipe_unstall_root (__ipipe_restore_root)
: func     -392   remove_vma (exit_mmap)
: func     -392   fput (remove_vma)
: func     -392   kmem_cache_free (remove_vma)
: func     -392   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -392   __ipipe_restore_root (kmem_cache_free)
: func     -391   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -391   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -391   __ipipe_unstall_root (__ipipe_restore_root)
: func     -391   remove_vma (exit_mmap)
: func     -391   fput (remove_vma)
: func     -391   __fput (fput)
: func     -390   inotify_dentry_parent_queue_event (__fput)
: func     -390   inotify_inode_queue_event (__fput)
: func     -390   locks_remove_flock (__fput)
: func     -389   dummy_file_free_security (__fput)
: func     -389   file_kill (__fput)
: func     -389   call_rcu (__fput)
: func     -389   __ipipe_test_and_stall_root (call_rcu)
: func     -389   __ipipe_restore_root (call_rcu)
: func     -389   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -389   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -388   __ipipe_unstall_root (__ipipe_restore_root)
: func     -388   dput (__fput)
: func     -388   _atomic_dec_and_lock (dput)
: func     -388   mntput_no_expire (__fput)
: func     -388   _atomic_dec_and_lock (mntput_no_expire)
: func     -388   kmem_cache_free (remove_vma)
: func     -387   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -387   __ipipe_restore_root (kmem_cache_free)
: func     -387   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -387   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -387   __ipipe_unstall_root (__ipipe_restore_root)
: func     -387   remove_vma (exit_mmap)
: func     -387   kmem_cache_free (remove_vma)
: func     -387   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -386   __ipipe_restore_root (kmem_cache_free)
: func     -386   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -386   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -386   __ipipe_unstall_root (__ipipe_restore_root)
: func     -386   remove_vma (exit_mmap)
: func     -386   kmem_cache_free (remove_vma)
: func     -386   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -386   __ipipe_restore_root (kmem_cache_free)
: func     -385   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -385   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -385   __ipipe_unstall_root (__ipipe_restore_root)
: func     -385   remove_vma (exit_mmap)
: func     -385   fput (remove_vma)
: func     -385   kmem_cache_free (remove_vma)
: func     -385   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -385   __ipipe_restore_root (kmem_cache_free)
: func     -384   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -384   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -384   __ipipe_unstall_root (__ipipe_restore_root)
: func     -384   remove_vma (exit_mmap)
: func     -384   fput (remove_vma)
: func     -384   kmem_cache_free (remove_vma)
: func     -384   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -384   __ipipe_restore_root (kmem_cache_free)
: func     -383   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -383   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -383   __ipipe_unstall_root (__ipipe_restore_root)
: func     -383   remove_vma (exit_mmap)
: func     -383   fput (remove_vma)
: func     -383   __fput (fput)
: func     -383   inotify_dentry_parent_queue_event (__fput)
: func     -382   inotify_inode_queue_event (__fput)
: func     -382   locks_remove_flock (__fput)
: func     -382   dummy_file_free_security (__fput)
: func     -382   file_kill (__fput)
: func     -382   call_rcu (__fput)
: func     -382   __ipipe_test_and_stall_root (call_rcu)
: func     -381   __ipipe_restore_root (call_rcu)
: func     -381   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -381   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -381   __ipipe_unstall_root (__ipipe_restore_root)
: func     -381   dput (__fput)
: func     -381   _atomic_dec_and_lock (dput)
: func     -381   mntput_no_expire (__fput)
: func     -381   _atomic_dec_and_lock (mntput_no_expire)
: func     -380   kmem_cache_free (remove_vma)
: func     -380   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -380   __ipipe_restore_root (kmem_cache_free)
: func     -380   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -380   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -380   __ipipe_unstall_root (__ipipe_restore_root)
: func     -380   remove_vma (exit_mmap)
: func     -380   kmem_cache_free (remove_vma)
: func     -379   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -379   __ipipe_restore_root (kmem_cache_free)
: func     -379   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -379   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -379   __ipipe_unstall_root (__ipipe_restore_root)
: func     -379   remove_vma (exit_mmap)
: func     -379   fput (remove_vma)
: func     -379   kmem_cache_free (remove_vma)
: func     -378   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -378   __ipipe_restore_root (kmem_cache_free)
: func     -378   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -378   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -378   __ipipe_unstall_root (__ipipe_restore_root)
: func     -378   remove_vma (exit_mmap)
: func     -378   fput (remove_vma)
: func     -378   __fput (fput)
: func     -377   inotify_dentry_parent_queue_event (__fput)
: func     -377   inotify_inode_queue_event (__fput)
: func     -377   locks_remove_flock (__fput)
: func     -377   dummy_file_free_security (__fput)
: func     -377   file_kill (__fput)
: func     -377   call_rcu (__fput)
: func     -376   __ipipe_test_and_stall_root (call_rcu)
: func     -376   __ipipe_restore_root (call_rcu)
: func     -376   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -376   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -376   __ipipe_unstall_root (__ipipe_restore_root)
: func     -376   dput (__fput)
: func     -376   _atomic_dec_and_lock (dput)
: func     -376   mntput_no_expire (__fput)
: func     -375   _atomic_dec_and_lock (mntput_no_expire)
: func     -375   kmem_cache_free (remove_vma)
: func     -375   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -375   __ipipe_restore_root (kmem_cache_free)
: func     -375   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -375   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -375   __ipipe_unstall_root (__ipipe_restore_root)
: func     -375   remove_vma (exit_mmap)
: func     -374   kmem_cache_free (remove_vma)
: func     -374   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -374   __ipipe_restore_root (kmem_cache_free)
: func     -374   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -374   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -374   __ipipe_unstall_root (__ipipe_restore_root)
: func     -373   exit_sem (do_exit)
: func     -373   put_files_struct (do_exit)
: func     -372   close_files (put_files_struct)
: func     -372   filp_close (close_files)
: func     -372   dnotify_flush (filp_close)
: func     -372   locks_remove_posix (filp_close)
: func     -372   fput (filp_close)
: func     -371+  filp_close (close_files)
:|begin    -370   common_interrupt (__ipipe_trace)
:|func     -370   __ipipe_handle_irq (common_interrupt)
:|func     -370   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func     -370   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func     -370   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func     -369   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func     -369   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func     -368   xnintr_irq_handler (xnintr_clock_handler)
:|func     -368+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -365   xnpod_announce_tick (xnintr_irq_handler)
:|func     -365   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func     -365+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -362   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func     -361   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]  -361   xnpod_resume_thread (xnthread_periodic_handler)
:|func     -361+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -358+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -353   xnpod_schedule (xnintr_irq_handler)
:|[11819]  -352   xnpod_schedule (xnintr_irq_handler)
:|func     -352+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -349+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -346   __switch_to (xnpod_schedule)
:|[11793]  -345   xnpod_schedule (xnpod_suspend_thread)
:|func     -344+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -341   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end      -341   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin    -341   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -341   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -340   __ipipe_syscall_root (sysenter_past_esp)
: func     -340   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -339   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -339   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -339   hisyscall_event (__ipipe_dispatch_event)
: func     -339   __rt_timer_tsc (hisyscall_event)
: func     -339   rt_timer_tsc (__rt_timer_tsc)
: func     -339   rthal_get_8254_tsc (rt_timer_tsc)
:|begin    -339+  rthal_get_8254_tsc (rt_timer_tsc)
:|end      -335   rthal_get_8254_tsc (rt_timer_tsc)
: func     -335   __copy_to_user_ll (__rt_timer_tsc)
:|begin    -335   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -335   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -334   __ipipe_syscall_root (sysenter_past_esp)
: func     -334   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -334   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -334   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -334   hisyscall_event (__ipipe_dispatch_event)
: func     -334   __rt_task_wait_period (hisyscall_event)
: func     -334   rt_task_wait_period (__rt_task_wait_period)
: func     -333   xnpod_wait_thread_period (rt_task_wait_period)
:|begin    -333   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -333+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -330   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -330   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -330   xnpod_schedule (xnpod_suspend_thread)
:|func     -329+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -326+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -323   __switch_to (xnpod_schedule)
:|[11819]  -322   xnpod_schedule (xnintr_irq_handler)
:|func     -322+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -319+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -315   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -315   common_interrupt (__ipipe_trace)
:|func     -315   __ipipe_unstall_iret_root (restore_raw)
:|end      -315   __ipipe_unstall_iret_root (restore_raw)
: func     -314   dnotify_flush (filp_close)
: func     -314   locks_remove_posix (filp_close)
: func     -314   fput (filp_close)
: func     -314   kmem_cache_free (put_files_struct)
: func     -314   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -313   __ipipe_restore_root (kmem_cache_free)
: func     -313   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -313   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -313   __ipipe_unstall_root (__ipipe_restore_root)
: func     -313   free_fdtable (put_files_struct)
: func     -312   call_rcu (free_fdtable)
: func     -312   __ipipe_test_and_stall_root (call_rcu)
: func     -312   __ipipe_restore_root (call_rcu)
: func     -312   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -312   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -312   __ipipe_unstall_root (__ipipe_restore_root)
: func     -311   dput (do_exit)
: func     -311   _atomic_dec_and_lock (dput)
: func     -311   mntput_no_expire (do_exit)
: func     -311   _atomic_dec_and_lock (mntput_no_expire)
: func     -311   dput (do_exit)
: func     -310   _atomic_dec_and_lock (dput)
: func     -310   mntput_no_expire (do_exit)
: func     -310   _atomic_dec_and_lock (mntput_no_expire)
: func     -310   kmem_cache_free (do_exit)
: func     -310   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -309   __ipipe_restore_root (kmem_cache_free)
: func     -309   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -309   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -309   __ipipe_unstall_root (__ipipe_restore_root)
: func     -309   _atomic_dec_and_lock (do_exit)
: func     -309   exit_thread (do_exit)
: func     -308   exit_notify (do_exit)
: func     -308   __ipipe_stall_root (exit_notify)
: func     -307   forget_original_parent (exit_notify)
: func     -307+  next_thread (forget_original_parent)
: func     -306   will_become_orphaned_pgrp (exit_notify)
: func     -305   find_task_by_pid_type (will_become_orphaned_pgrp)
: func     -305   find_pid (find_task_by_pid_type)
: func     -305   has_stopped_jobs (exit_notify)
: func     -304   find_task_by_pid_type (has_stopped_jobs)
: func     -304   find_pid (find_task_by_pid_type)
: func     -304   do_notify_parent (exit_notify)
: func     -303   __ipipe_test_and_stall_root (do_notify_parent)
: func     -303   __group_send_sig_info (do_notify_parent)
: func     -303   handle_stop_signal (__group_send_sig_info)
: func     -302   sig_ignored (__group_send_sig_info)
: func     -302   send_signal (__group_send_sig_info)
: func     -301   __sigqueue_alloc (send_signal)
: func     -301   kmem_cache_alloc (__sigqueue_alloc)
: func     -301   __ipipe_test_and_stall_root (kmem_cache_alloc)
: func     -300   __ipipe_restore_root (kmem_cache_alloc)
: func     -300   __ipipe_stall_root (__ipipe_restore_root)
: func     -300   __group_complete_signal (__group_send_sig_info)
: func     -299   __wake_up_sync (do_notify_parent)
: func     -299   __ipipe_test_and_stall_root (__wake_up_sync)
: func     -299   __wake_up_common (__wake_up_sync)
: func     -299   default_wake_function (__wake_up_common)
: func     -299   try_to_wake_up (default_wake_function)
: func     -299   __ipipe_test_and_stall_root (try_to_wake_up)
: func     -298   activate_task (try_to_wake_up)
: func     -298   sched_clock (activate_task)
: func     -298   recalc_task_prio (activate_task)
: func     -298   effective_prio (recalc_task_prio)
: func     -298   enqueue_task (activate_task)
: func     -297   __ipipe_restore_root (try_to_wake_up)
: func     -297   __ipipe_stall_root (__ipipe_restore_root)
: func     -297   __ipipe_restore_root (__wake_up_sync)
: func     -297   __ipipe_stall_root (__ipipe_restore_root)
: func     -297   __ipipe_restore_root (do_notify_parent)
: func     -297   __ipipe_stall_root (__ipipe_restore_root)
: func     -297   __ipipe_unstall_root (exit_notify)
:|begin    -296   __ipipe_unstall_root (exit_notify)
:|end      -296   __ipipe_unstall_root (exit_notify)
: func     -296   schedule (do_exit)
: func     -296   profile_hit (schedule)
: func     -296   sched_clock (schedule)
: func     -296   __ipipe_stall_root (schedule)
: func     -295   deactivate_task (schedule)
: func     -295   dequeue_task (deactivate_task)
: func     -295   recalc_task_prio (schedule)
: func     -295   effective_prio (recalc_task_prio)
: func     -295   requeue_task (schedule)
:|begin    -295   schedule (do_exit)
:|func     -294   __switch_to (schedule)
:|end      -293   schedule (do_wait)
: func     -293   __ipipe_unstall_root (schedule)
:|begin    -293   __ipipe_unstall_root (schedule)
:|end      -292   __ipipe_unstall_root (schedule)
: func     -292   __mmdrop (schedule)
: func     -292   pgd_free (__mmdrop)
: func     -292   kmem_cache_free (pgd_free)
: func     -291   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -291   __ipipe_restore_root (kmem_cache_free)
: func     -291   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -291   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -291   __ipipe_unstall_root (__ipipe_restore_root)
: func     -290   destroy_context (__mmdrop)
: func     -290   kmem_cache_free (__mmdrop)
: func     -290   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -290   __ipipe_restore_root (kmem_cache_free)
: func     -289   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -289   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -289   __ipipe_unstall_root (__ipipe_restore_root)
: func     -288   eligible_child (do_wait)
: func     -288   dummy_task_wait (eligible_child)
: func     -287   wait_task_zombie (do_wait)
: func     -287   __ipipe_stall_root (wait_task_zombie)
: func     -286   __ipipe_unstall_root (wait_task_zombie)
:|begin    -286   __ipipe_unstall_root (wait_task_zombie)
:|end      -286   __ipipe_unstall_root (wait_task_zombie)
: func     -285   release_task (wait_task_zombie)
: func     -285   proc_pid_unhash (release_task)
: func     -285   __ipipe_stall_root (release_task)
: func     -284   __exit_signal (release_task)
: func     -284   posix_cpu_timers_exit (__exit_signal)
: func     -284   cleanup_timers (posix_cpu_timers_exit)
: func     -283   posix_cpu_timers_exit_group (__exit_signal)
: func     -283   cleanup_timers (posix_cpu_timers_exit_group)
: func     -283   __exit_sighand (__exit_signal)
: func     -282   call_rcu (__exit_sighand)
: func     -282   __ipipe_test_and_stall_root (call_rcu)
: func     -282   __ipipe_restore_root (call_rcu)
: func     -282   __ipipe_stall_root (__ipipe_restore_root)
: func     -282   flush_sigqueue (__exit_signal)
: func     -281   flush_sigqueue (__exit_signal)
: func     -281   kmem_cache_free (__exit_signal)
: func     -281   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -281   __ipipe_restore_root (kmem_cache_free)
: func     -281   __ipipe_stall_root (__ipipe_restore_root)
: func     -280   __unhash_process (release_task)
: func     -280   detach_pid (__unhash_process)
: func     -280   __detach_pid (detach_pid)
: func     -280   find_pid (detach_pid)
: func     -279   find_pid (detach_pid)
: func     -279   detach_pid (__unhash_process)
: func     -279   __detach_pid (detach_pid)
: func     -279   find_pid (detach_pid)
: func     -279   find_pid (detach_pid)
: func     -279   detach_pid (__unhash_process)
: func     -279   __detach_pid (detach_pid)
: func     -278   find_pid (detach_pid)
: func     -278   find_pid (detach_pid)
: func     -278   find_pid (detach_pid)
: func     -278   free_pidmap (detach_pid)
: func     -278   detach_pid (__unhash_process)
: func     -278   __detach_pid (detach_pid)
: func     -277   sched_exit (release_task)
: func     -277   __ipipe_test_and_stall_root (sched_exit)
: func     -277   __ipipe_restore_root (sched_exit)
: func     -277   __ipipe_stall_root (__ipipe_restore_root)
: func     -277   __ipipe_unstall_root (release_task)
:|begin    -276   __ipipe_unstall_root (release_task)
:|end      -276   __ipipe_unstall_root (release_task)
: func     -276   proc_pid_flush (release_task)
: func     -276   release_thread (release_task)
: func     -276   release_vm86_irqs (release_thread)
: func     -275   call_rcu (release_task)
: func     -275   __ipipe_test_and_stall_root (call_rcu)
: func     -275   __ipipe_restore_root (call_rcu)
: func     -275   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -275   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -275   __ipipe_unstall_root (__ipipe_restore_root)
: func     -274   remove_wait_queue (do_wait)
: func     -274   __ipipe_test_and_stall_root (remove_wait_queue)
: func     -274   __ipipe_restore_root (remove_wait_queue)
: func     -274   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -274   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -274   __ipipe_unstall_root (__ipipe_restore_root)
: func     -273   __ipipe_stall_root (syscall_exit)
: func     -273   __ipipe_unstall_iret_root (restore_raw)
:|begin    -273   __ipipe_unstall_iret_root (restore_raw)
:|end      -273+  __ipipe_unstall_iret_root (restore_raw)
:|begin    -270   common_interrupt (<0807b0c3>)
:|func     -270   __ipipe_handle_irq (common_interrupt)
:|func     -269   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func     -269   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func     -269   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func     -268   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func     -268   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func     -268   xnintr_irq_handler (xnintr_clock_handler)
:|func     -268+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -265   xnpod_announce_tick (xnintr_irq_handler)
:|func     -264   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func     -264+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -261   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func     -261   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]  -261   xnpod_resume_thread (xnthread_periodic_handler)
:|func     -261+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -257+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -252   xnpod_schedule (xnintr_irq_handler)
:|[11819]  -252   xnpod_schedule (xnintr_irq_handler)
:|func     -252+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -248+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -245   __switch_to (xnpod_schedule)
:|[11793]  -244   xnpod_schedule (xnpod_suspend_thread)
:|func     -244+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -241   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end      -241   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin    -240   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -240   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -239   __ipipe_syscall_root (sysenter_past_esp)
: func     -239   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -239   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -239   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -239   hisyscall_event (__ipipe_dispatch_event)
: func     -238   __rt_timer_tsc (hisyscall_event)
: func     -238   rt_timer_tsc (__rt_timer_tsc)
: func     -238   rthal_get_8254_tsc (rt_timer_tsc)
:|begin    -238+  rthal_get_8254_tsc (rt_timer_tsc)
:|end      -235   rthal_get_8254_tsc (rt_timer_tsc)
: func     -235   __copy_to_user_ll (__rt_timer_tsc)
:|begin    -234   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -234   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -234   __ipipe_syscall_root (sysenter_past_esp)
: func     -234   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -234   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -234   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -233   hisyscall_event (__ipipe_dispatch_event)
: func     -233   __rt_task_wait_period (hisyscall_event)
: func     -233   rt_task_wait_period (__rt_task_wait_period)
: func     -233   xnpod_wait_thread_period (rt_task_wait_period)
:|begin    -233   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -233+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -229   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -229   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -229   xnpod_schedule (xnpod_suspend_thread)
:|func     -229+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -226+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -222   __switch_to (xnpod_schedule)
:|[ 9933]  -222   xnpod_schedule (xnintr_irq_handler)
:|func     -221+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -218+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -215   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -214   common_interrupt (<0807b0c3>)
:|func     -214   __ipipe_stall_root (resume_userspace)
: func     -214   __ipipe_unstall_iret_root (restore_raw)
:|begin    -214   __ipipe_unstall_iret_root (restore_raw)
:|end      -214+  __ipipe_unstall_iret_root (restore_raw)
: func     -206   __ipipe_syscall_root (system_call)
: func     -206   sys_rt_sigprocmask (syscall_call)
: func     -206   copy_from_user (sys_rt_sigprocmask)
: func     -206   __copy_from_user_ll (copy_from_user)
: func     -205   sigprocmask (sys_rt_sigprocmask)
: func     -205   __ipipe_stall_root (sigprocmask)
: func     -204   recalc_sigpending (sigprocmask)
: func     -204   recalc_sigpending_tsk (recalc_sigpending)
: func     -204   __ipipe_unstall_root (sigprocmask)
:|begin    -204   __ipipe_unstall_root (sigprocmask)
:|end      -204   __ipipe_unstall_root (sigprocmask)
: func     -204   copy_to_user (sys_rt_sigprocmask)
: func     -203   __copy_to_user_ll (copy_to_user)
: func     -203   __ipipe_stall_root (syscall_exit)
: func     -203   __ipipe_unstall_iret_root (restore_raw)
:|begin    -203   __ipipe_unstall_iret_root (restore_raw)
:|end      -203+  __ipipe_unstall_iret_root (restore_raw)
: func     -202   __ipipe_syscall_root (system_call)
: func     -202   sys_ioctl (syscall_call)
: func     -201   fget_light (sys_ioctl)
: func     -201   dummy_file_ioctl (sys_ioctl)
: func     -201   vfs_ioctl (sys_ioctl)
: func     -201   do_ioctl (vfs_ioctl)
: func     -200   tty_ioctl (do_ioctl)
: func     -200+  tty_paranoia_check (tty_ioctl)
: func     -199   tiocspgrp (tty_ioctl)
: func     -199   tty_check_change (tiocspgrp)
: func     -199   is_ignored (tty_check_change)
: func     -198   session_of_pgrp (tiocspgrp)
: func     -198   find_task_by_pid_type (session_of_pgrp)
: func     -198   find_pid (find_task_by_pid_type)
: func     -197   __ipipe_stall_root (syscall_exit)
: func     -197   __ipipe_unstall_iret_root (restore_raw)
:|begin    -197   __ipipe_unstall_iret_root (restore_raw)
:|end      -197   __ipipe_unstall_iret_root (restore_raw)
: func     -196   __ipipe_syscall_root (system_call)
: func     -196   sys_rt_sigprocmask (syscall_call)
: func     -196   copy_from_user (sys_rt_sigprocmask)
: func     -196   __copy_from_user_ll (copy_from_user)
: func     -196   sigprocmask (sys_rt_sigprocmask)
: func     -196   __ipipe_stall_root (sigprocmask)
: func     -196   recalc_sigpending (sigprocmask)
: func     -195   recalc_sigpending_tsk (recalc_sigpending)
: func     -195   __ipipe_unstall_root (sigprocmask)
:|begin    -195   __ipipe_unstall_root (sigprocmask)
:|end      -195   __ipipe_unstall_root (sigprocmask)
: func     -195   __ipipe_stall_root (syscall_exit)
: func     -195   __ipipe_unstall_iret_root (restore_raw)
:|begin    -195   __ipipe_unstall_iret_root (restore_raw)
:|end      -195+  __ipipe_unstall_iret_root (restore_raw)
: func     -193   __ipipe_syscall_root (system_call)
: func     -193   sys_ioctl (syscall_call)
: func     -193   fget_light (sys_ioctl)
: func     -193   dummy_file_ioctl (sys_ioctl)
: func     -193   vfs_ioctl (sys_ioctl)
: func     -193   do_ioctl (vfs_ioctl)
: func     -192   tty_ioctl (do_ioctl)
: func     -192   tty_paranoia_check (tty_ioctl)
: func     -192   tty_ldisc_ref_wait (tty_ioctl)
: func     -192   tty_ldisc_try (tty_ldisc_ref_wait)
: func     -192   __ipipe_test_and_stall_root (tty_ldisc_try)
: func     -192   __ipipe_restore_root (tty_ldisc_try)
: func     -192   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -191   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -191   __ipipe_unstall_root (__ipipe_restore_root)
: func     -191   n_tty_ioctl (tty_ioctl)
: func     -190   copy_to_user (n_tty_ioctl)
: func     -190   __copy_to_user_ll (copy_to_user)
: func     -190   tty_ldisc_deref (tty_ioctl)
: func     -190   __ipipe_test_and_stall_root (tty_ldisc_deref)
: func     -190   __wake_up (tty_ldisc_deref)
: func     -190   __ipipe_test_and_stall_root (__wake_up)
: func     -189   __wake_up_common (__wake_up)
: func     -189   __ipipe_restore_root (__wake_up)
: func     -189   __ipipe_stall_root (__ipipe_restore_root)
: func     -189   __ipipe_restore_root (tty_ldisc_deref)
: func     -189   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -189   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -189   __ipipe_unstall_root (__ipipe_restore_root)
: func     -188   __ipipe_stall_root (syscall_exit)
: func     -188   __ipipe_unstall_iret_root (restore_raw)
:|begin    -188   __ipipe_unstall_iret_root (restore_raw)
:|end      -188+  __ipipe_unstall_iret_root (restore_raw)
:|func     -184   __ipipe_handle_exception (error_code)
:|func     -183   do_page_fault (__ipipe_handle_exception)
:|end      -183   do_page_fault (__ipipe_handle_exception)
: func     -183   notifier_call_chain (do_page_fault)
: func     -183   __ipipe_unstall_root (do_page_fault)
:|begin    -183   __ipipe_unstall_root (do_page_fault)
:|end      -183   __ipipe_unstall_root (do_page_fault)
: func     -183+  find_vma (do_page_fault)
: func     -181   __handle_mm_fault (do_page_fault)
: func     -181   mod_page_state_offset (__handle_mm_fault)
: func     -181   __ipipe_test_and_stall_root (mod_page_state_offset)
: func     -181   __ipipe_restore_root (mod_page_state_offset)
: func     -181   __ipipe_unstall_root (__ipipe_restore_root)
:|begin    -181   __ipipe_unstall_root (__ipipe_restore_root)
:|end      -180   __ipipe_unstall_root (__ipipe_restore_root)
: func     -180   page_address (__handle_mm_fault)
: func     -180   do_wp_page (__handle_mm_fault)
: func     -180   vm_normal_page (do_wp_page)
: func     -179   can_share_swap_page (do_wp_page)
: func     -179   unlock_page (do_wp_page)
: func     -178   page_waitqueue (unlock_page)
: func     -178   __wake_up_bit (unlock_page)
: func     -177   __ipipe_stall_root (resume_userspace)
: func     -177   __ipipe_unstall_iret_root (restore_raw)
:|begin    -177   __ipipe_unstall_iret_root (restore_raw)
:|end      -177+  __ipipe_unstall_iret_root (restore_raw)
:|begin    -171   common_interrupt (<080d20bb>)
:|func     -170   __ipipe_handle_irq (common_interrupt)
:|func     -170   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func     -170   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func     -170   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func     -169   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func     -169   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func     -169   xnintr_irq_handler (xnintr_clock_handler)
:|func     -169+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -165   xnpod_announce_tick (xnintr_irq_handler)
:|func     -165   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func     -165+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -162   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func     -162   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]  -162   xnpod_resume_thread (xnthread_periodic_handler)
:|func     -161+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -158+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func     -153   xnpod_schedule (xnintr_irq_handler)
:|[ 9933]  -153   xnpod_schedule (xnintr_irq_handler)
:|func     -153+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -149+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -146   __switch_to (xnpod_schedule)
:|[11793]  -145   xnpod_schedule (xnpod_suspend_thread)
:|func     -145+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -142   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end      -141   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin    -141   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -141   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -140   __ipipe_syscall_root (sysenter_past_esp)
: func     -140   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -140   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -140   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -139   hisyscall_event (__ipipe_dispatch_event)
: func     -139   __rt_timer_tsc (hisyscall_event)
: func     -139   rt_timer_tsc (__rt_timer_tsc)
: func     -139   rthal_get_8254_tsc (rt_timer_tsc)
:|begin    -139+  rthal_get_8254_tsc (rt_timer_tsc)
:|end      -136   rthal_get_8254_tsc (rt_timer_tsc)
: func     -135   __copy_to_user_ll (__rt_timer_tsc)
:|begin    -135   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -135   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -135   __ipipe_syscall_root (sysenter_past_esp)
: func     -135   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin    -135   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end      -134   __ipipe_dispatch_event (__ipipe_syscall_root)
: func     -134   hisyscall_event (__ipipe_dispatch_event)
: func     -134   __rt_task_wait_period (hisyscall_event)
: func     -134   rt_task_wait_period (__rt_task_wait_period)
: func     -134   xnpod_wait_thread_period (rt_task_wait_period)
:|begin    -134   xnpod_wait_thread_period (rt_task_wait_period)
:|func     -134+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func     -130   xnpod_suspend_thread (xnpod_wait_thread_period)
:|func     -130   xnpod_schedule (xnpod_suspend_thread)
:|[11793]  -130   xnpod_schedule (xnpod_suspend_thread)
:|func     -130+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -127+  rthal_get_8254_tsc (xnpod_schedule)
:|func     -123   __switch_to (xnpod_schedule)
:|[ 9933]  -123   xnpod_schedule (xnintr_irq_handler)
:|func     -122+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -119+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func     -116   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end      -115   common_interrupt (<080d20bb>)
:|func     -115   __ipipe_stall_root (resume_userspace)
: func     -115   __ipipe_unstall_iret_root (restore_raw)
:|begin    -115   __ipipe_unstall_iret_root (restore_raw)
:|end      -115+  __ipipe_unstall_iret_root (restore_raw)
: func     -108   __ipipe_syscall_root (system_call)
: func     -107   sys_rt_sigprocmask (syscall_call)
: func     -107   copy_from_user (sys_rt_sigprocmask)
: func     -107   __copy_from_user_ll (copy_from_user)
: func     -107   sigprocmask (sys_rt_sigprocmask)
: func     -107   __ipipe_stall_root (sigprocmask)
: func     -107   recalc_sigpending (sigprocmask)
: func     -107   recalc_sigpending_tsk (recalc_sigpending)
: func     -106   __ipipe_unstall_root (sigprocmask)
:|begin    -106   __ipipe_unstall_root (sigprocmask)
:|end      -106   __ipipe_unstall_root (sigprocmask)
: func     -106   __ipipe_stall_root (syscall_exit)
: func     -106   do_notify_resume (work_notifysig)
: func     -105   do_signal (do_notify_resume)
: func     -105   get_signal_to_deliver (do_signal)
: func     -105   __ipipe_stall_root (get_signal_to_deliver)
: func     -104   dequeue_signal (get_signal_to_deliver)
: func     -104   __dequeue_signal (dequeue_signal)
: func     -104   next_signal (__dequeue_signal)
: func     -104   recalc_sigpending (__dequeue_signal)
: func     -104   recalc_sigpending_tsk (recalc_sigpending)
: func     -103   __dequeue_signal (dequeue_signal)
: func     -103   next_signal (__dequeue_signal)
: func     -103   collect_signal (__dequeue_signal)
: func     -103   __sigqueue_free (collect_signal)
: func     -103   free_uid (__sigqueue_free)
: func     -102   __ipipe_test_and_stall_root (free_uid)
: func     -102   _atomic_dec_and_lock (free_uid)
: func     -102   __ipipe_restore_root (free_uid)
: func     -102   __ipipe_stall_root (__ipipe_restore_root)
: func     -102   kmem_cache_free (__sigqueue_free)
: func     -102   __ipipe_test_and_stall_root (kmem_cache_free)
: func     -102   __ipipe_restore_root (kmem_cache_free)
: func     -101   __ipipe_stall_root (__ipipe_restore_root)
: func     -101   recalc_sigpending (__dequeue_signal)
: func     -101   recalc_sigpending_tsk (recalc_sigpending)
: func     -100   __ipipe_unstall_root (get_signal_to_deliver)
:|begin    -100   __ipipe_unstall_root (get_signal_to_deliver)
:|end      -100   __ipipe_unstall_root (get_signal_to_deliver)
: func     -100   handle_signal (do_signal)
: func     -100   setup_frame (handle_signal)
: func      -99   setup_sigcontext (setup_frame)
: func      -98   save_i387 (setup_sigcontext)
: func      -98   __ipipe_stall_root (handle_signal)
: func      -98   recalc_sigpending (handle_signal)
: func      -98   recalc_sigpending_tsk (recalc_sigpending)
: func      -97   __ipipe_unstall_root (handle_signal)
:|begin     -97   __ipipe_unstall_root (handle_signal)
:|end       -97   __ipipe_unstall_root (handle_signal)
: func      -97   __ipipe_stall_root (resume_userspace)
: func      -97   __ipipe_unstall_iret_root (restore_raw)
:|begin     -97   __ipipe_unstall_iret_root (restore_raw)
:|end       -97+  __ipipe_unstall_iret_root (restore_raw)
: func      -95   __ipipe_syscall_root (system_call)
: func      -95   sys_waitpid (syscall_call)
: func      -95   sys_wait4 (sys_waitpid)
: func      -94   do_wait (sys_wait4)
: func      -94   add_wait_queue (do_wait)
: func      -94   __ipipe_test_and_stall_root (add_wait_queue)
: func      -94   __ipipe_restore_root (add_wait_queue)
: func      -94   __ipipe_unstall_root (__ipipe_restore_root)
:|begin     -94   __ipipe_unstall_root (__ipipe_restore_root)
:|end       -94   __ipipe_unstall_root (__ipipe_restore_root)
: func      -93   next_thread (do_wait)
: func      -93   remove_wait_queue (do_wait)
: func      -93   __ipipe_test_and_stall_root (remove_wait_queue)
: func      -93   __ipipe_restore_root (remove_wait_queue)
: func      -92   __ipipe_unstall_root (__ipipe_restore_root)
:|begin     -92   __ipipe_unstall_root (__ipipe_restore_root)
:|end       -92   __ipipe_unstall_root (__ipipe_restore_root)
: func      -92   __ipipe_stall_root (syscall_exit)
: func      -92   __ipipe_unstall_iret_root (restore_raw)
:|begin     -92   __ipipe_unstall_iret_root (restore_raw)
:|end       -92   __ipipe_unstall_iret_root (restore_raw)
: func      -91   __ipipe_syscall_root (system_call)
: func      -90   sys_sigreturn (syscall_call)
: func      -90   __ipipe_stall_root (sys_sigreturn)
: func      -90   recalc_sigpending (sys_sigreturn)
: func      -90   recalc_sigpending_tsk (recalc_sigpending)
: func      -90   __ipipe_unstall_root (sys_sigreturn)
:|begin     -90   __ipipe_unstall_root (sys_sigreturn)
:|end       -90   __ipipe_unstall_root (sys_sigreturn)
: func      -89   restore_sigcontext (sys_sigreturn)
: func      -89   __ipipe_stall_root (syscall_exit)
: func      -89   __ipipe_unstall_iret_root (restore_raw)
:|begin     -89   __ipipe_unstall_iret_root (restore_raw)
:|end       -88+  __ipipe_unstall_iret_root (restore_raw)
: func      -79   __ipipe_syscall_root (system_call)
: func      -79   sys_rt_sigprocmask (syscall_call)
: func      -78   __ipipe_stall_root (sys_rt_sigprocmask)
: func      -78   __ipipe_unstall_root (sys_rt_sigprocmask)
:|begin     -78   __ipipe_unstall_root (sys_rt_sigprocmask)
:|end       -78   __ipipe_unstall_root (sys_rt_sigprocmask)
: func      -78   copy_to_user (sys_rt_sigprocmask)
: func      -78   __copy_to_user_ll (copy_to_user)
: func      -78   __ipipe_stall_root (syscall_exit)
: func      -77   __ipipe_unstall_iret_root (restore_raw)
:|begin     -77   __ipipe_unstall_iret_root (restore_raw)
:|end       -77+  __ipipe_unstall_iret_root (restore_raw)
: func      -75   __ipipe_syscall_root (system_call)
: func      -75   sys_rt_sigaction (syscall_call)
: func      -75   copy_from_user (sys_rt_sigaction)
: func      -75   __copy_from_user_ll (copy_from_user)
: func      -75   do_sigaction (sys_rt_sigaction)
: func      -74   __ipipe_stall_root (do_sigaction)
: func      -74   __ipipe_unstall_root (do_sigaction)
:|begin     -74   __ipipe_unstall_root (do_sigaction)
:|end       -74   __ipipe_unstall_root (do_sigaction)
: func      -73   copy_to_user (sys_rt_sigaction)
: func      -73   __copy_to_user_ll (copy_to_user)
: func      -73   __ipipe_stall_root (syscall_exit)
: func      -73   __ipipe_unstall_iret_root (restore_raw)
:|begin     -73   __ipipe_unstall_iret_root (restore_raw)
:|end       -73+  __ipipe_unstall_iret_root (restore_raw)
:|begin     -71   common_interrupt (<b7e9855f>)
:|func      -71   __ipipe_handle_irq (common_interrupt)
:|func      -71   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func      -71   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func      -70   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func      -69   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func      -69   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func      -69   xnintr_irq_handler (xnintr_clock_handler)
:|func      -69+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func      -66   xnpod_announce_tick (xnintr_irq_handler)
:|func      -66   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func      -66+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func      -62   xnthread_periodic_handler (xntimer_do_tick_aperiodic)
:|func      -62   xnpod_resume_thread (xnthread_periodic_handler)
:|[11793]   -62   xnpod_resume_thread (xnthread_periodic_handler)
:|func      -62+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func      -59+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func      -53   xnpod_schedule (xnintr_irq_handler)
:|[ 9933]   -53   xnpod_schedule (xnintr_irq_handler)
:|func      -53+  rthal_get_8254_tsc (xnpod_schedule)
:|func      -50+  rthal_get_8254_tsc (xnpod_schedule)
:|func      -46   __switch_to (xnpod_schedule)
:|[11793]   -46   xnpod_schedule (xnpod_suspend_thread)
:|func      -45+  rthal_get_8254_tsc (xnpod_wait_thread_period)
:|func      -42   __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|end       -42+  __ipipe_restore_pipeline_head (xnpod_wait_thread_period)
:|begin     -40   common_interrupt (__ipipe_restore_pipeline_head)
:|func      -40   __ipipe_handle_irq (common_interrupt)
:|func      -39   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func      -39   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func      -39+  mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func      -36   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end       -36+  common_interrupt (__ipipe_restore_pipeline_head)
:|begin     -35   common_interrupt (__ipipe_restore_pipeline_head)
:|func      -35   __ipipe_handle_irq (common_interrupt)
:|func      -35   __ipipe_ack_common_irq (__ipipe_handle_irq)
:|func      -35   ipipe_test_and_stall_pipeline_from (__ipipe_ack_common_irq)
:|func      -34   mask_and_ack_8259A (__ipipe_ack_common_irq)
:|func      -33   __ipipe_dispatch_wired (__ipipe_handle_irq)
:|func      -33   xnintr_clock_handler (__ipipe_dispatch_wired)
:|func      -33   xnintr_irq_handler (xnintr_clock_handler)
:|func      -33+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func      -30   xnpod_announce_tick (xnintr_irq_handler)
:|func      -30   xntimer_do_tick_aperiodic (xnpod_announce_tick)
:|func      -30+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func      -26+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func      -23+  rthal_get_8254_tsc (xntimer_do_tick_aperiodic)
:|func      -18   rthal_irq_host_pend (xnintr_irq_handler)
:|func      -18   __ipipe_schedule_irq (rthal_irq_host_pend)
:|func      -17+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func      -14+  rthal_get_8254_tsc (xnintr_irq_handler)
:|func      -11   __ipipe_walk_pipeline (__ipipe_handle_irq)
:|end       -11   common_interrupt (__ipipe_restore_pipeline_head)
:|begin     -10   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end       -10   __ipipe_dispatch_event (__ipipe_syscall_root)
: func      -10   __ipipe_syscall_root (sysenter_past_esp)
: func       -9   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin      -9   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end        -9   __ipipe_dispatch_event (__ipipe_syscall_root)
: func       -9   hisyscall_event (__ipipe_dispatch_event)
: func       -9   __rt_timer_tsc (hisyscall_event)
: func       -9   rt_timer_tsc (__rt_timer_tsc)
: func       -8   rthal_get_8254_tsc (rt_timer_tsc)
:|begin      -8+  rthal_get_8254_tsc (rt_timer_tsc)
:|end        -5   rthal_get_8254_tsc (rt_timer_tsc)
: func       -5   __copy_to_user_ll (__rt_timer_tsc)
:|begin      -5   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end        -5   __ipipe_dispatch_event (__ipipe_syscall_root)
: func       -4   __ipipe_syscall_root (sysenter_past_esp)
: func       -4   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin      -4   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end        -4   __ipipe_dispatch_event (__ipipe_syscall_root)
: func       -3   hisyscall_event (__ipipe_dispatch_event)
: func       -3   __rt_timer_tsc2ns (hisyscall_event)
: func       -3   __copy_from_user_ll (__rt_timer_tsc2ns)
: func       -3   rt_timer_tsc2ns (__rt_timer_tsc2ns)
: func       -2   __copy_to_user_ll (__rt_timer_tsc2ns)
:|begin      -2   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end        -2   __ipipe_dispatch_event (__ipipe_syscall_root)
: func       -2   __ipipe_syscall_root (sysenter_past_esp)
: func       -2   __ipipe_dispatch_event (__ipipe_syscall_root)
:|begin      -1   __ipipe_dispatch_event (__ipipe_syscall_root)
:|end        -1   __ipipe_dispatch_event (__ipipe_syscall_root)
: func       -1   hisyscall_event (__ipipe_dispatch_event)
: func       -1   xnshadow_sys_trace (hisyscall_event)
: func        0   ipipe_trace_frozen_reset (xnshadow_sys_trace)
: func        0   __ipipe_global_path_lock (ipipe_trace_frozen_reset)
:|begin       0   __ipipe_global_path_lock (ipipe_trace_frozen_reset)
:|end         0   __ipipe_global_path_unlock (ipipe_trace_frozen_reset)
< freeze      0   xnshadow_sys_trace (hisyscall_event)
 |begin       0   __ipipe_dispatch_event (__ipipe_syscall_root)
 |end         0   __ipipe_dispatch_event (__ipipe_syscall_root)
  func        0   __ipipe_syscall_root (sysenter_past_esp)
  func        0   __ipipe_dispatch_event (__ipipe_syscall_root)
 |begin       0   __ipipe_dispatch_event (__ipipe_syscall_root)
 |end         1   __ipipe_dispatch_event (__ipipe_syscall_root)
  func        1   hisyscall_event (__ipipe_dispatch_event)
  func        1   __rt_task_wait_period (hisyscall_event)
  func        1   rt_task_wait_period (__rt_task_wait_period)
  func        1   xnpod_wait_thread_period (rt_task_wait_period)

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24  8:44                       ` roland Tollenaar
@ 2007-04-24  8:56                         ` Gilles Chanteperdrix
  2007-04-24 10:27                           ` roland Tollenaar
  2007-04-24  9:05                         ` Jan Kiszka
  1 sibling, 1 reply; 34+ messages in thread
From: Gilles Chanteperdrix @ 2007-04-24  8:56 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

roland Tollenaar wrote:
>>In case all that fails, enable the I-pipe tracer, run latency with the
>>-f option, and check /proc/ipipe/trace/frozen once you observed the high
>>latency in latency.
> 
> Have done this and attached the result. I have looked at it myself but
> cannot interpret the meaning.
> 
> A bit of help would be appreciated.

Your machine looks overloaded with some VM activity. What does top say ?

-- 
                                                 Gilles Chanteperdrix


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24  8:44                       ` roland Tollenaar
  2007-04-24  8:56                         ` Gilles Chanteperdrix
@ 2007-04-24  9:05                         ` Jan Kiszka
  2007-04-24 10:31                           ` roland Tollenaar
  1 sibling, 1 reply; 34+ messages in thread
From: Jan Kiszka @ 2007-04-24  9:05 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 1797 bytes --]

roland Tollenaar wrote:
> Hi
> 
>> The latency killers:
>> - SMI: check dmesg to see if you get a warning saying that an
>>   SMI-enabled chipset was detected. If yes,
> Yes get this message.
> 
>> read the TROUBLESHOOTING. If
> Done what it says here. No change. My latency is also less than 100 us
> so this is probably not the problem. Tried anyway but as mentioned, no
> difference.
> 
>> - USB: disable legacy USB in BIOS configuration, sometimes it is not
> My BIOS settings do not allow me to switch off the USB legacy. At
> least I cannot find the place where this is to be done.
> 
> 
>>   enough, and you have to _enable_ USB in kernel configuration, and load
>>   the USB modules (that is at least uhci-hcd, ohci-hcd, ehci-hcd and
>>   usbcore) so that they disable BIOS legacy USB emulation.
> These ARE enabled.
> 
>> - X-window: if you see high latencies only when the X server is running,
>>   the X-server is probably causing them. A workaround is proposed in the
>>   TROUBLESHOOTING file.
> Ran latency without X running. No difference.
> 
>>
>> In case all that fails, enable the I-pipe tracer, run latency with the
>> -f option, and check /proc/ipipe/trace/frozen once you observed the high
>> latency in latency.
> Have done this and attached the result. I have looked at it myself but
> cannot interpret the meaning.
> 
> A bit of help would be appreciated.

Two conclusions:

 - You are running your kernel as i586 without TSC support - suboptimal,
   costs you a few micros.
 - The reported latency perfectly matches the trace, nothing
   pathological there. The trace looks like this: Timer fired,
   measurement task woken up, two interrupts squeeze themselves between
   wakeup and time stamp acquisition. All sane.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24  8:56                         ` Gilles Chanteperdrix
@ 2007-04-24 10:27                           ` roland Tollenaar
  2007-04-24 10:27                             ` roland Tollenaar
  0 siblings, 1 reply; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 10:27 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: Xenomai-help

Hi,

Thanks for the response. Attached my top while running latency. I did
not bother to close any of the applications open since the performance
is the same.

What is VM activity? This is completely novel to me.

Regards,

Roland.

On 4/24/07, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> roland Tollenaar wrote:
> >>In case all that fails, enable the I-pipe tracer, run latency with the
> >>-f option, and check /proc/ipipe/trace/frozen once you observed the high
> >>latency in latency.
> >
> > Have done this and attached the result. I have looked at it myself but
> > cannot interpret the meaning.
> >
> > A bit of help would be appreciated.
>
> Your machine looks overloaded with some VM activity. What does top say ?
>
> --
>                                                  Gilles Chanteperdrix
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:27                           ` roland Tollenaar
@ 2007-04-24 10:27                             ` roland Tollenaar
  2007-04-24 12:57                               ` Gilles Chanteperdrix
  0 siblings, 1 reply; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 10:27 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 969 bytes --]

Now with the attachment.

On 4/24/07, roland Tollenaar <rolandtollenaar@domain.hid> wrote:
> Hi,
>
> Thanks for the response. Attached my top while running latency. I did
> not bother to close any of the applications open since the performance
> is the same.
>
> What is VM activity? This is completely novel to me.
>
> Regards,
>
> Roland.
>
> On 4/24/07, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> > roland Tollenaar wrote:
> > >>In case all that fails, enable the I-pipe tracer, run latency with the
> > >>-f option, and check /proc/ipipe/trace/frozen once you observed the high
> > >>latency in latency.
> > >
> > > Have done this and attached the result. I have looked at it myself but
> > > cannot interpret the meaning.
> > >
> > > A bit of help would be appreciated.
> >
> > Your machine looks overloaded with some VM activity. What does top say ?
> >
> > --
> >                                                  Gilles Chanteperdrix
> >
>

[-- Attachment #2: top.txt --]
[-- Type: text/plain, Size: 9346 bytes --]

^[[H^[[2J^[[m^[(Btop - 12:23:36 up  1:16,  1 user,  load average: 0.08, 0.11, 0.08^[[m^[(B^[[39;49m^[[K
Tasks:^[[m^[(B^[[39;49m^[[m^[(B 102 ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B   5 ^[[m^[(B^[[39;49mrunning,^[[m^[(B^[[39;49m^[[m^[(B  97 ^[[m^[(B^[[39;49msleeping,^[[m^[(B^[[39;49m^[[m^[(B   0 ^[[m^[(B^[[39;49mstopped,^[[m^[(B^[[39;49m^[[m^[(B   0 ^[[m^[(B^[[39;49mzombie^[[m^[(B^[[39;49m^[[K
Cpu(s):^[[m^[(B^[[39;49m^[[m^[(B  5.4%^[[m^[(B^[[39;49mus,^[[m^[(B^[[39;49m^[[m^[(B  1.2%^[[m^[(B^[[39;49msy,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49mni,^[[m^[(B^[[39;49m^[[m^[(B 92.7%^[[m^[(B^[[39;49mid,^[[m^[(B^[[39;49m^[[m^[(B  0.7%^[[m^[(B^[[39;49mwa,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49mhi,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49msi,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49mst^[[m^[(B^[[39;49m^[[K
Mem: ^[[m^[(B^[[39;49m^[[m^[(B  2072864k ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B   798072k ^[[m^[(B^[[39;49mused,^[[m^[(B^[[39;49m^[[m^[(B  1274792k ^[[m^[(B^[[39;49mfree,^[[m^[(B^[[39;49m^[[m^[(B    86172k ^[[m^[(B^[[39;49mbuffers^[[m^[(B^[[39;49m^[[K
Swap:^[[m^[(B^[[39;49m^[[m^[(B        0k ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B        0k ^[[m^[(B^[[39;49mused,^[[m^[(B^[[39;49m^[[m^[(B        0k ^[[m^[(B^[[39;49mfree,^[[m^[(B^[[39;49m^[[m^[(B   510884k ^[[m^[(B^[[39;49mcached^[[m^[(B^[[39;49m^[[K
^[[6;1H
^[[7m  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                   ^[[m^[(B^[[39;49m^[[K
^[[m^[(B 9563 root      14  -1  150m  16m 4352 S  1.9  0.8   0:40.77 X                                         ^[[m^[(B^[[39;49m
^[[m^[(B 9683 root      15   0 31216  15m  12m S  1.9  0.8   0:07.91 kicker                                    ^[[m^[(B^[[39;49m
^[[m^[(B 9696 root      15   0 11920 7604 4868 S  1.9  0.4   0:13.77 artsd                                     ^[[m^[(B^[[39;49m
^[[m^[(B^[[m^[(B32399 root      15   0  2208 1036  768 R  1.9  0.0   0:00.02 top                                       ^[[m^[(B^[[39;49m
^[[m^[(B    1 root      16   0   684  248  212 S  0.0  0.0   0:00.86 init                                      ^[[m^[(B^[[39;49m
^[[m^[(B    2 root      34  19     0    0    0 S  0.0  0.0   0:00.06 ksoftirqd/0                               ^[[m^[(B^[[39;49m
^[[m^[(B    3 root      10  -5     0    0    0 S  0.0  0.0   0:00.05 events/0                                  ^[[m^[(B^[[39;49m
^[[m^[(B    4 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper                                   ^[[m^[(B^[[39;49m
^[[m^[(B    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread                                   ^[[m^[(B^[[39;49m
^[[m^[(B    7 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kblockd/0                                 ^[[m^[(B^[[39;49m
^[[m^[(B   10 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khubd                                     ^[[m^[(B^[[39;49m
^[[m^[(B  158 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 gatekeeper/0                              ^[[m^[(B^[[39;49m
^[[m^[(B  161 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pdflush                                   ^[[m^[(B^[[39;49m
^[[m^[(B  162 root      15   0     0    0    0 S  0.0  0.0   0:00.00 pdflush                                   ^[[m^[(B^[[39;49m
^[[m^[(B  164 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0                                     ^[[m^[(B^[[39;49m
^[[m^[(B  163 root      25   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0                                   ^[[m^[(B^[[39;49m
^[[m^[(B  165 root      25   0     0    0    0 S  0.0  0.0   0:00.00 jfsIO                                     ^[[m^[(B^[[39;49m
^[[m^[(B  166 root      25   0     0    0    0 S  0.0  0.0   0:00.00 jfsCommit                                 ^[[m^[(B^[[39;49m
^[[m^[(B  167 root      25   0     0    0    0 S  0.0  0.0   0:00.00 jfsSync                                   ^[[m^[(B^[[39;49m
^[[m^[(B  168 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 xfslogd/0                                 ^[[m^[(B^[[39;49m
^[[m^[(B  169 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 xfsdatad/0                                ^[[m^[(B^[[39;49m
^[[m^[(B  756 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 kseriod                                   ^[[m^[(B^[[39;49m
^[[m^[(B 1108 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 ata/0                                     ^[[m^[(B^[[39;49m
^[[m^[(B 1126 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 exec-osm/0                                ^[[m^[(B^[[39;49m
^[[m^[(B 1132 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 block-osm/0                               ^[[m^[(B^[[39;49m
^[[m^[(B 1309 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_2                                 ^[[m^[(B^[[39;49m
^[[m^[(B 1310 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 usb-storage                               ^[[m^[(B^[[39;49m^[[6;1H^[[K^[[H^[[m^[(Btop - 12:23:39 up  1:16,  1 user,  load average: 0.07, 0.11, 0.08^[[m^[(B^[[39;49m^[[K
Tasks:^[[m^[(B^[[39;49m^[[m^[(B 102 ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B   1 ^[[m^[(B^[[39;49mrunning,^[[m^[(B^[[39;49m^[[m^[(B 101 ^[[m^[(B^[[39;49msleeping,^[[m^[(B^[[39;49m^[[m^[(B   0 ^[[m^[(B^[[39;49mstopped,^[[m^[(B^[[39;49m^[[m^[(B   0 ^[[m^[(B^[[39;49mzombie^[[m^[(B^[[39;49m^[[K
Cpu(s):^[[m^[(B^[[39;49m^[[m^[(B  4.0%^[[m^[(B^[[39;49mus,^[[m^[(B^[[39;49m^[[m^[(B  3.3%^[[m^[(B^[[39;49msy,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49mni,^[[m^[(B^[[39;49m^[[m^[(B 92.4%^[[m^[(B^[[39;49mid,^[[m^[(B^[[39;49m^[[m^[(B  0.3%^[[m^[(B^[[39;49mwa,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49mhi,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49msi,^[[m^[(B^[[39;49m^[[m^[(B  0.0%^[[m^[(B^[[39;49mst^[[m^[(B^[[39;49m^[[K
Mem: ^[[m^[(B^[[39;49m^[[m^[(B  2072864k ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B   798808k ^[[m^[(B^[[39;49mused,^[[m^[(B^[[39;49m^[[m^[(B  1274056k ^[[m^[(B^[[39;49mfree,^[[m^[(B^[[39;49m^[[m^[(B    86236k ^[[m^[(B^[[39;49mbuffers^[[m^[(B^[[39;49m^[[K
Swap:^[[m^[(B^[[39;49m^[[m^[(B        0k ^[[m^[(B^[[39;49mtotal,^[[m^[(B^[[39;49m^[[m^[(B        0k ^[[m^[(B^[[39;49mused,^[[m^[(B^[[39;49m^[[m^[(B        0k ^[[m^[(B^[[39;49mfree,^[[m^[(B^[[39;49m^[[m^[(B   511124k ^[[m^[(B^[[39;49mcached^[[m^[(B^[[39;49m^[[K
^[[6;1H
^[[7m  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                   ^[[m^[(B^[[39;49m^[[K
^[[m^[(B 9563 root      14  -1  150m  16m 4352 S  2.0  0.8   0:40.83 X                                         ^[[m^[(B^[[39;49m
^[[m^[(B 9680 root      15   0 28284  14m  11m S  1.7  0.7   0:00.74 kdesktop                                  ^[[m^[(B^[[39;49m
^[[m^[(B 9662 root      15   0 29856  13m  11m S  1.0  0.7   0:21.09 kded                                      ^[[m^[(B^[[39;49m
^[[m^[(B32403 root      17   0 24808 7452 5832 S  0.7  0.4   0:00.02 kio_file                                  ^[[m^[(B^[[39;49m
^[[m^[(B 9696 root      15   0 11920 7604 4868 S  0.3  0.4   0:13.78 artsd                                     ^[[m^[(B^[[39;49m
^[[m^[(B 9706 root      15   0 27380  12m 9.9m S  0.3  0.6   0:00.46 kmix                                      ^[[m^[(B^[[39;49m
^[[m^[(B^[[m^[(B32399 root      16   0  2212 1120  848 R  0.3  0.1   0:00.03 top                                       ^[[m^[(B^[[39;49m
^[[m^[(B    1 root      16   0   684  248  212 S  0.0  0.0   0:00.86 init                                      ^[[m^[(B^[[39;49m
^[[m^[(B    2 root      34  19     0    0    0 S  0.0  0.0   0:00.06 ksoftirqd/0                               ^[[m^[(B^[[39;49m
^[[m^[(B    3 root      10  -5     0    0    0 S  0.0  0.0   0:00.05 events/0                                  ^[[m^[(B^[[39;49m
^[[m^[(B    4 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khelper                                   ^[[m^[(B^[[39;49m
^[[m^[(B    5 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kthread                                   ^[[m^[(B^[[39;49m
^[[m^[(B    7 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 kblockd/0                                 ^[[m^[(B^[[39;49m
^[[m^[(B   10 root      10  -5     0    0    0 S  0.0  0.0   0:00.00 khubd                                     ^[[m^[(B^[[39;49m
^[[m^[(B  158 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 gatekeeper/0                              ^[[m^[(B^[[39;49m
^[[m^[(B  161 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pdflush                                   ^[[m^[(B^[[39;49m
^[[m^[(B  162 root      15   0     0    0    0 S  0.0  0.0   0:00.00 pdflush                                   ^[[m^[(B^[[39;49m
^[[m^[(B  164 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0                                     ^[[m^[(B^[[39;49m
^[[m^[(B  163 root      25   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0                                   ^[[m^[(B^[[39;49m
^[[m^[(B  165 root      25   0     0    0    0 S  0.0  0.0   0:00.00 jfsIO                                     ^[[m^[(B^[[39;49m
^[[m^[(B  166 root      25   0     0    0    0 S  0.0  0.0   0:00.00 jfsCommit                                 ^[[m^[(B^[[39;49m
^[[m^[(B  167 root      25   0     0    0    0 S  0.0  0.0   0:00.00 jfsSync                                   ^[[m^[(B^[[39;49m
^[[m^[(B  168 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 xfslogd/0                                 ^[[m^[(B^[[39;49m
^[[m^[(B  169 root      19  -5     0    0    0 S  0.0  0.0   0:00.00 xfsdatad/0                                ^[[m^[(B^[[39;49m
^[[m^[(B  756 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 kseriod                                   ^[[m^[(B^[[39;49m
^[[m^[(B 1108 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 ata/0                                     ^[[m^[(B^[[39;49m
^[[m^[(B 1126 root      11  -5     0    0    0 S  0.0  0.0   0:00.00 exec-osm/0                                ^[[m^[(B^[[39;49m^[[6;1H^[[K^[[35;1H^[[?12l^[[?25h

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24  9:05                         ` Jan Kiszka
@ 2007-04-24 10:31                           ` roland Tollenaar
  2007-04-24 10:51                             ` Jan Kiszka
  2007-04-24 10:57                             ` Wolfgang Grandegger
  0 siblings, 2 replies; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 10:31 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Xenomai-help

Hi

> Two conclusions:
>
>  - You are running your kernel as i586 without TSC support - suboptimal,
>    costs you a few micros.
I am aware of this. For the current machine I will stick to this.


>  - The reported latency perfectly matches the trace, nothing
>    pathological there. The trace looks like this: Timer fired,
>    measurement task woken up, two interrupts squeeze themselves between
>    wakeup and time stamp acquisition. All sane.
Is it not a bit strange that a machine as fast as this one is supposed
to be give worse latencies than much slower machines. Are the 2
interrupts causing the latency?

Regards,

Roland
>
> Jan
>
>
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:31                           ` roland Tollenaar
@ 2007-04-24 10:51                             ` Jan Kiszka
  2007-04-24 12:14                               ` roland Tollenaar
  2007-04-24 10:57                             ` Wolfgang Grandegger
  1 sibling, 1 reply; 34+ messages in thread
From: Jan Kiszka @ 2007-04-24 10:51 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 1238 bytes --]

roland Tollenaar wrote:
> Hi
> 
>> Two conclusions:
>>
>>  - You are running your kernel as i586 without TSC support - suboptimal,
>>    costs you a few micros.
> I am aware of this. For the current machine I will stick to this.
> 

Then don't complain. :)

> 
>>  - The reported latency perfectly matches the trace, nothing
>>    pathological there. The trace looks like this: Timer fired,
>>    measurement task woken up, two interrupts squeeze themselves between
>>    wakeup and time stamp acquisition. All sane.
> Is it not a bit strange that a machine as fast as this one is supposed
> to be give worse latencies than much slower machines. Are the 2
> interrupts causing the latency?

Those two increase the latency of code in timed tasks, for sure. The
question is if your measurement on the slower machine also included this
scenario (timer event + 2 IRQs in a row). This definitely doesn't happen
often, and maybe timing on the slower box makes it less likely. Or there
is one potential IRQ source more on your fast box (e.g. due to IRQ
sharing on the slower one).

You see, RT system design on the edge (ie. when hunting a few 10 us) is
tricky and not easily portable from box X to box Y.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:31                           ` roland Tollenaar
  2007-04-24 10:51                             ` Jan Kiszka
@ 2007-04-24 10:57                             ` Wolfgang Grandegger
  2007-04-24 11:00                               ` Jan Kiszka
  2007-04-24 12:17                               ` roland Tollenaar
  1 sibling, 2 replies; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-04-24 10:57 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help, Jan Kiszka

roland Tollenaar wrote:
> Hi
> 
>> Two conclusions:
>>
>>  - You are running your kernel as i586 without TSC support - suboptimal,
>>    costs you a few micros.
> I am aware of this. For the current machine I will stick to this.
> 
> 
>>  - The reported latency perfectly matches the trace, nothing
>>    pathological there. The trace looks like this: Timer fired,
>>    measurement task woken up, two interrupts squeeze themselves between
>>    wakeup and time stamp acquisition. All sane.
> Is it not a bit strange that a machine as fast as this one is supposed
> to be give worse latencies than much slower machines. Are the 2
> interrupts causing the latency?

Yes, what puzzels me is actually the high min latency of more than 24us:

  == Sampling period: 100 us
== Test mode: periodic user-mode task
== All results in microseconds
warming up...
RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
RTH|--lat min|---lat avg|-----lat max|-overrun|----lat best|---lat worst
RTD|   24.304|    35.199|      65.371|       0|      24.304|      65.371

Can the TSC cause such high delays?

And what is the output of "/proc/xenomai/latency"?

Wolfgang.


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:57                             ` Wolfgang Grandegger
@ 2007-04-24 11:00                               ` Jan Kiszka
  2007-04-24 12:17                               ` roland Tollenaar
  1 sibling, 0 replies; 34+ messages in thread
From: Jan Kiszka @ 2007-04-24 11:00 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 1632 bytes --]

Wolfgang Grandegger wrote:
> roland Tollenaar wrote:
>> Hi
>>
>>> Two conclusions:
>>>
>>>  - You are running your kernel as i586 without TSC support - suboptimal,
>>>    costs you a few micros.
>> I am aware of this. For the current machine I will stick to this.
>>
>>
>>>  - The reported latency perfectly matches the trace, nothing
>>>    pathological there. The trace looks like this: Timer fired,
>>>    measurement task woken up, two interrupts squeeze themselves between
>>>    wakeup and time stamp acquisition. All sane.
>> Is it not a bit strange that a machine as fast as this one is supposed
>> to be give worse latencies than much slower machines. Are the 2
>> interrupts causing the latency?
> 
> Yes, what puzzels me is actually the high min latency of more than 24us:
> 
>  == Sampling period: 100 us
> == Test mode: periodic user-mode task
> == All results in microseconds
> warming up...
> RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
> RTH|--lat min|---lat avg|-----lat max|-overrun|----lat best|---lat worst
> RTD|   24.304|    35.199|      65.371|       0|      24.304|      65.371
> 
> Can the TSC cause such high delays?
>

You mean TSC emulation? Definitely yes for the worst-case. Almost every
rthal_get_8254_tsc() costs about 3 us, and I counted >15 in Roland's
critical trace path.

> And what is the output of "/proc/xenomai/latency"?

Indeed interesting. Maybe the system is not well tuned. But the overhead
of rthal_get_8254_tsc() will remain for the non-minimal case (e.g.
host-tick hitting before or after task-wakeup tick).

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:51                             ` Jan Kiszka
@ 2007-04-24 12:14                               ` roland Tollenaar
  2007-04-24 12:32                                 ` Jan Kiszka
  0 siblings, 1 reply; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 12:14 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Xenomai-help

> > I am aware of this. For the current machine I will stick to this.
> >
>
> Then don't complain. :)
Yes sir!
:)
Not complaining really, I think and I hope that the latency of 30us
average will do nicely for me. Just curious actually.

> > to be give worse latencies than much slower machines. Are the 2
> > interrupts causing the latency?
>
> Those two increase the latency of code in timed tasks, for sure. The
> question is if your measurement on the slower machine also included this
> scenario (timer event + 2 IRQs in a row). This definitely doesn't happen
> often, and maybe timing on the slower box makes it less likely. Or there
> is one potential IRQ source more on your fast box (e.g. due to IRQ
> sharing on the slower one).
>
> You see, RT system design on the edge (ie. when hunting a few 10 us) is
> tricky and not easily portable from box X to box Y.

Its not possible to determine which IRQ's are responsible for this
from the trace I presume?


Roland
>
> Jan
>
>
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:57                             ` Wolfgang Grandegger
  2007-04-24 11:00                               ` Jan Kiszka
@ 2007-04-24 12:17                               ` roland Tollenaar
  2007-04-24 12:19                                 ` roland Tollenaar
  1 sibling, 1 reply; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 12:17 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: Xenomai-help, Jan Kiszka

Hi,

> Yes, what puzzels me is actually the high min latency of more than 24us:
>
>   == Sampling period: 100 us
> == Test mode: periodic user-mode task
> == All results in microseconds
> warming up...
> RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
> RTH|--lat min|---lat avg|-----lat max|-overrun|----lat best|---lat worst
> RTD|   24.304|    35.199|      65.371|       0|      24.304|      65.371

Mind you this is slightly higher than when I run with a kernel without
i-pipe tracing enabled. Then it is more like

20    30


>
> Can the TSC cause such high delays?
>
> And what is the output of "/proc/xenomai/latency"?
>
> Wolfgang.
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 12:17                               ` roland Tollenaar
@ 2007-04-24 12:19                                 ` roland Tollenaar
  2007-04-24 12:44                                   ` Wolfgang Grandegger
  0 siblings, 1 reply; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 12:19 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: Xenomai-help, Jan Kiszka

damn was not finished with this mail, silly webinterface.

> > warming up...
> > RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
> > RTH|--lat min|---lat avg|-----lat max|-overrun|----lat best|---lat worst
> > RTD|   24.304|    35.199|      65.371|       0|      24.304|      65.371
>
> Mind you this is slightly higher than when I run with a kernel without
> i-pipe tracing enabled. Then it is more like
>
 20    30   50 etc



>
> >
> > Can the TSC cause such high delays?
> >
> > And what is the output of "/proc/xenomai/latency"?

5866

Does that make sense to you? What does it mean?

Roland

> >
> > Wolfgang.
> >
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 12:14                               ` roland Tollenaar
@ 2007-04-24 12:32                                 ` Jan Kiszka
  0 siblings, 0 replies; 34+ messages in thread
From: Jan Kiszka @ 2007-04-24 12:32 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

[-- Attachment #1: Type: text/plain, Size: 1227 bytes --]

roland Tollenaar wrote:
>> > I am aware of this. For the current machine I will stick to this.
>> >
>>
>> Then don't complain. :)
> Yes sir!
> :)
> Not complaining really, I think and I hope that the latency of 30us
> average will do nicely for me. Just curious actually.
> 
>> > to be give worse latencies than much slower machines. Are the 2
>> > interrupts causing the latency?
>>
>> Those two increase the latency of code in timed tasks, for sure. The
>> question is if your measurement on the slower machine also included this
>> scenario (timer event + 2 IRQs in a row). This definitely doesn't happen
>> often, and maybe timing on the slower box makes it less likely. Or there
>> is one potential IRQ source more on your fast box (e.g. due to IRQ
>> sharing on the slower one).
>>
>> You see, RT system design on the edge (ie. when hunting a few 10 us) is
>> tricky and not easily portable from box X to box Y.
> 
> Its not possible to determine which IRQ's are responsible for this
> from the trace I presume?
> 

echo 1 > /proc/ipipe/trace/verbose

Then look at the "User Val." reported at "common_interrupt" (see also [1]).

Jan

[1] http://www.xenomai.org/index.php/I-pipe:Tracer


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 12:19                                 ` roland Tollenaar
@ 2007-04-24 12:44                                   ` Wolfgang Grandegger
  0 siblings, 0 replies; 34+ messages in thread
From: Wolfgang Grandegger @ 2007-04-24 12:44 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help, Jan Kiszka

roland Tollenaar wrote:
> damn was not finished with this mail, silly webinterface.
> 
>> > warming up...
>> > RTT|  00:00:01  (periodic user-mode task, 100 us period, priority 99)
>> > RTH|--lat min|---lat avg|-----lat max|-overrun|----lat best|---lat 
>> worst
>> > RTD|   24.304|    35.199|      65.371|       0|      24.304|      
>> 65.371
>>
>> Mind you this is slightly higher than when I run with a kernel without
>> i-pipe tracing enabled. Then it is more like
>>
> 20    30   50 etc
> 
> 
> 
>>
>> >
>> > Can the TSC cause such high delays?
>> >
>> > And what is the output of "/proc/xenomai/latency"?
> 
> 5866
> 
> Does that make sense to you? What does it mean?

That just means that you have to add this figure to the measured 
latencies. It looks to me, that the TSC emulation is the cause of the 
problem.

Wolfgang.


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 10:27                             ` roland Tollenaar
@ 2007-04-24 12:57                               ` Gilles Chanteperdrix
  2007-04-24 18:36                                 ` roland Tollenaar
  0 siblings, 1 reply; 34+ messages in thread
From: Gilles Chanteperdrix @ 2007-04-24 12:57 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

roland Tollenaar wrote:
> Now with the attachment.

On configurations when an audio card is not properly configured, the
artsd daemon used to eat a lot of CPU. Could you try disabling this
daemon ?
Try and deactivate the sound effects in KDE.
KDE control center/Sound and multimedia/Sound system uncheck "Enable
sound system"
-- 
                                                 Gilles Chanteperdrix


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-24 12:57                               ` Gilles Chanteperdrix
@ 2007-04-24 18:36                                 ` roland Tollenaar
  0 siblings, 0 replies; 34+ messages in thread
From: roland Tollenaar @ 2007-04-24 18:36 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: Xenomai-help

Hi Gilles,

There seems to be distinct improvement.
latency seems to improved structurally by 5 or 6 us.

I am not sure I have manged to entirely kill sound, followed your advice below.

Thanks.

Roland


On 4/24/07, Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
> roland Tollenaar wrote:
> > Now with the attachment.
>
> On configurations when an audio card is not properly configured, the
> artsd daemon used to eat a lot of CPU. Could you try disabling this
> daemon ?
> Try and deactivate the sound effects in KDE.
> KDE control center/Sound and multimedia/Sound system uncheck "Enable
> sound system"
> --
>                                                  Gilles Chanteperdrix
>


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-23 15:09                   ` [Xenomai-help] " roland Tollenaar
  2007-04-23 18:28                     ` Gilles Chanteperdrix
@ 2007-04-25  9:04                     ` Stéphane ANCELOT
  2007-04-25 11:02                       ` Roland Tollenaar
  1 sibling, 1 reply; 34+ messages in thread
From: Stéphane ANCELOT @ 2007-04-25  9:04 UTC (permalink / raw)
  To: roland Tollenaar; +Cc: Xenomai-help

Hi Roland,

I only made a look at your xeno config.


looks like you used make config, try make menuconfig or make xconfig to
setup your kernel, more confortable...


I think your kernel config would need better and fine tuning,here are
some tips :
Disable swap in kernel config

lot of unuseful drivers are modules compiled. Setup only and only what
is present in your computer and may be used.
Furthermore, this will permit you to compile the kernel in a faster way.

I strongly advice disabling i2o too.

If you do not need pcmcia, turn it off too.

setup power managament off

CONFIG_M486 is settted up ? I read you had a 3GHz processor a few mails
before !!!!  ? Setup the right processor !!!!!


Best Regards
Steph


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [Xenomai-help] Latencies due to RT-Socket-CAN register accesses
  2007-04-25  9:04                     ` Stéphane ANCELOT
@ 2007-04-25 11:02                       ` Roland Tollenaar
  0 siblings, 0 replies; 34+ messages in thread
From: Roland Tollenaar @ 2007-04-25 11:02 UTC (permalink / raw)
  To: Stéphane ANCELOT; +Cc: Xenomai-help

Hi Stephane,

Thanks for the useful tips. Will work on them.

> I only made a look at your xeno config.
> 
> 
> looks like you used make config, try make menuconfig or make xconfig to
> setup your kernel, more confortable...
Strange, I do use menuconfig.


> 
> 
> I think your kernel config would need better and fine tuning,here are
> some tips :
> Disable swap in kernel config
Will do.

> 
> lot of unuseful drivers are modules compiled. Setup only and only what
> is present in your computer and may be used.
> Furthermore, this will permit you to compile the kernel in a faster way.
I know this but I am using a USB loaded linux with the intention of 
being able to run this system off many PC's without having to worry 
about drivers.


> 
> I strongly advice disabling i2o too.
Will do. What does it do by the way?

> 
> If you do not need pcmcia, turn it off too.
Will do.

> 
> setup power managament off
It is off!! Where did you see that it was on? Which setting?

> 
> CONFIG_M486 is settted up ? I read you had a 3GHz processor a few mails
> before !!!!  ? Setup the right processor !!!!!
I am afraid here you are right. Unfortunately this implies rebuilding 
all the drivers too (I tried and they are not compatible with 486 
kernels) and this USB bootable distribution makes changing the modules, 
well not impossible but pretty damn nearly impossible. IT does mean I do 
not have TSC support which I am aware, makes a big difference.

Thanks again.

Roland.


> 
> 
> Best Regards
> Steph
> 


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2007-04-25 11:02 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-13 10:52 [Xenomai-help] Latencies due to RT-Socket-CAN register accesses Wolfgang Grandegger
2007-03-13 13:16 ` [Xenomai-help] " Roland Tollenaar
2007-03-13 13:29   ` Wolfgang Grandegger
2007-03-13 13:41     ` Roland Tollenaar
2007-03-13 14:06       ` Wolfgang Grandegger
2007-03-14  9:33       ` Wolfgang Grandegger
2007-03-28 17:05       ` roland Tollenaar
2007-03-28 18:50         ` Wolfgang Grandegger
2007-03-29  2:17           ` Roland Tollenaar
2007-03-29  8:38             ` Stéphane ANCELOT
2007-03-29  8:59             ` Wolfgang Grandegger
2007-03-29 16:44               ` Roland Tollenaar
2007-03-29 18:51                 ` Gilles Chanteperdrix
2007-03-29 18:59                 ` Wolfgang Grandegger
2007-04-23 15:09                   ` [Xenomai-help] " roland Tollenaar
2007-04-23 18:28                     ` Gilles Chanteperdrix
2007-04-24  8:44                       ` roland Tollenaar
2007-04-24  8:56                         ` Gilles Chanteperdrix
2007-04-24 10:27                           ` roland Tollenaar
2007-04-24 10:27                             ` roland Tollenaar
2007-04-24 12:57                               ` Gilles Chanteperdrix
2007-04-24 18:36                                 ` roland Tollenaar
2007-04-24  9:05                         ` Jan Kiszka
2007-04-24 10:31                           ` roland Tollenaar
2007-04-24 10:51                             ` Jan Kiszka
2007-04-24 12:14                               ` roland Tollenaar
2007-04-24 12:32                                 ` Jan Kiszka
2007-04-24 10:57                             ` Wolfgang Grandegger
2007-04-24 11:00                               ` Jan Kiszka
2007-04-24 12:17                               ` roland Tollenaar
2007-04-24 12:19                                 ` roland Tollenaar
2007-04-24 12:44                                   ` Wolfgang Grandegger
2007-04-25  9:04                     ` Stéphane ANCELOT
2007-04-25 11:02                       ` Roland Tollenaar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.