* [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.