All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.