* [Xenomai] ipipe: Comment in __ipipe_handle_exception
@ 2014-09-11 8:39 Jan Kiszka
2014-09-11 9:33 ` Philippe Gerum
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2014-09-11 8:39 UTC (permalink / raw)
To: Philippe Gerum, Xenomai
Hi Philippe,
in 2338107647 I found this:
@@ -383,6 +380,8 @@ int __ipipe_handle_exception(struct pt_regs *regs, long error_code, int vector)
local_irq_disable();
}
+ /*
+ * XXX: We don't trace page faults (yet?). */
if (vector == ex_do_page_fault)
cr2 = native_read_cr2();
What is the background? Any open issue?
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai] ipipe: Comment in __ipipe_handle_exception
2014-09-11 8:39 [Xenomai] ipipe: Comment in __ipipe_handle_exception Jan Kiszka
@ 2014-09-11 9:33 ` Philippe Gerum
2014-09-11 11:17 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: Philippe Gerum @ 2014-09-11 9:33 UTC (permalink / raw)
To: Jan Kiszka, Xenomai
On 09/11/2014 10:39 AM, Jan Kiszka wrote:
> Hi Philippe,
>
> in 2338107647 I found this:
>
> @@ -383,6 +380,8 @@ int __ipipe_handle_exception(struct pt_regs *regs, long error_code, int vector)
> local_irq_disable();
> }
>
> + /*
> + * XXX: We don't trace page faults (yet?). */
> if (vector == ex_do_page_fault)
> cr2 = native_read_cr2();
>
>
> What is the background? Any open issue?
>
The current interposition we do via std_extable is not aware of trace_*
hooks in entry*.S, so we end up bypassing the trace encapsulation
entirely in __ipipe_handle_exception. Nothing bad, it just needs some
work to do this cleanly. This is for x86_64, ia32 might be slightly
different, but the issue should apply the same way.
--
Philippe.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai] ipipe: Comment in __ipipe_handle_exception
2014-09-11 9:33 ` Philippe Gerum
@ 2014-09-11 11:17 ` Jan Kiszka
2014-09-11 13:10 ` Philippe Gerum
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2014-09-11 11:17 UTC (permalink / raw)
To: Philippe Gerum, Xenomai
On 2014-09-11 11:33, Philippe Gerum wrote:
> On 09/11/2014 10:39 AM, Jan Kiszka wrote:
>> Hi Philippe,
>>
>> in 2338107647 I found this:
>>
>> @@ -383,6 +380,8 @@ int __ipipe_handle_exception(struct pt_regs *regs, long error_code, int vector)
>> local_irq_disable();
>> }
>>
>> + /*
>> + * XXX: We don't trace page faults (yet?). */
>> if (vector == ex_do_page_fault)
>> cr2 = native_read_cr2();
>>
>>
>> What is the background? Any open issue?
>>
>
> The current interposition we do via std_extable is not aware of trace_*
> hooks in entry*.S, so we end up bypassing the trace encapsulation
> entirely in __ipipe_handle_exception. Nothing bad, it just needs some
> work to do this cleanly. This is for x86_64, ia32 might be slightly
> different, but the issue should apply the same way.
Which tracing are you referring to? There are at least three in the
assembly entries (ftrace, Linux IRQSOFF tracing, I-pipe tracing). And I
unfortunately still don't get how those relate to the reading of CR2.
Jan
--
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai] ipipe: Comment in __ipipe_handle_exception
2014-09-11 11:17 ` Jan Kiszka
@ 2014-09-11 13:10 ` Philippe Gerum
0 siblings, 0 replies; 4+ messages in thread
From: Philippe Gerum @ 2014-09-11 13:10 UTC (permalink / raw)
To: Jan Kiszka, Xenomai
On 09/11/2014 01:17 PM, Jan Kiszka wrote:
> On 2014-09-11 11:33, Philippe Gerum wrote:
>> On 09/11/2014 10:39 AM, Jan Kiszka wrote:
>>> Hi Philippe,
>>>
>>> in 2338107647 I found this:
>>>
>>> @@ -383,6 +380,8 @@ int __ipipe_handle_exception(struct pt_regs *regs, long error_code, int vector)
>>> local_irq_disable();
>>> }
>>>
>>> + /*
>>> + * XXX: We don't trace page faults (yet?). */
>>> if (vector == ex_do_page_fault)
>>> cr2 = native_read_cr2();
>>>
>>>
>>> What is the background? Any open issue?
>>>
>>
>> The current interposition we do via std_extable is not aware of trace_*
>> hooks in entry*.S, so we end up bypassing the trace encapsulation
>> entirely in __ipipe_handle_exception. Nothing bad, it just needs some
>> work to do this cleanly. This is for x86_64, ia32 might be slightly
>> different, but the issue should apply the same way.
>
> Which tracing are you referring to? There are at least three in the
> assembly entries (ftrace, Linux IRQSOFF tracing, I-pipe tracing). And I
> unfortunately still don't get how those relate to the reading of CR2.
>
> Jan
>
CONFIG_TRACING, for ftrace.
--
Philippe.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-09-11 13:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-11 8:39 [Xenomai] ipipe: Comment in __ipipe_handle_exception Jan Kiszka
2014-09-11 9:33 ` Philippe Gerum
2014-09-11 11:17 ` Jan Kiszka
2014-09-11 13:10 ` Philippe Gerum
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.