On 18/12/12 15:47, Gilles Chanteperdrix wrote:
On 12/18/2012 12:23 PM, Jan Kiszka wrote:
On 2012-12-15 20:16, Gilles Chanteperdrix wrote:
On 12/15/2012 11:03 PM, Wolfgang Mauerer wrote:
Hi Gilles,
On 15/12/2012 22:24, Gilles Chanteperdrix wrote:
I see some (recent) activity on this git repository:
https://github.com/siemens/ipipe/commits/core-3.5_for-upstream
In what state is this branch, can I pull from it?
please don't pull yet, I need to port a few more patches forward
and fix one known issue with the tree. But I'll try to send a
pull/discussion request next week.
At least the changes allowing preempt_disable()/preempt_enable() to be
called from non-root context look dubious.
are you referring to 767f0d43fe3? This one still carries a TODO
item in the description to remind me to check with which
non-x86 archs this can cause problems, and what we can do about
them.
Actually, we already have ipipe_safe_current(), so I guess what you need
is ipipe_safe_current_thread_info() ?
That cannot work unless you patch all the ftrace and perf stack - which
would surely not be a good idea /wrt maintainability.
The point is remove the instrumentation from preempt_disable/enable at
least on those archs that do not need it. And then to look at the archs
that still have stack-based thread_info, if we cannot change this, at
least for CONFIG_IPIPE enabled.
are you talking about moving the arch's thread_info away from the stack
to some per-processor area like x86's PDA? At a first glance, that
sounds more invasive than changing preempt_xyz() in perf and ftrace
to me, especially since the changes to perf/ftrace should be fairly
straightforward -- just replace calls to preempt_xyz with calls
to preempt_xyz_save() based on ipipe_safe_current_thread_info().
The easiest thing is to simply say that perf and ftrace are not
supported on archs that cannot reliably read thread_info from non-root
context, but that does not seem very attractive to me.
The problem is the "then", we can not stay with a solution which works
only for x86_64. The current contents of the github tree which disables
the ipipe_root_context check on all architectures can not be merged as is.
sure, the tree cannot be merged as is. That's why I asked for some more
time ;)
Best regards, Wolfgang
_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai