Steven Rostedt | 2 Dec 2011 20:41
Gravatar

Re: [PATCH-RT] Fix for sleeping function called from invalid context when running gdb

On Fri, 2011-12-02 at 19:20 +0100, Andi Kleen wrote:
> > > -static inline void preempt_conditional_sti(struct pt_regs *regs)
> > > +static inline void preempt_conditional_sti(struct pt_regs *regs, int stack)
> > >  {
> > > -	inc_preempt_count();
> > > +	if (stack)
> > > +		inc_preempt_count();
> 
> All callers now pass in true I think, so you could eliminate the stack argument.

Not in RT:

#ifdef CONFIG_PREEMPT_RT_FULL
# define STACKFAULT_STACK 0
# define DOUBLEFAULT_STACK 1
# define NMI_STACK 2
# define DEBUG_STACK 0
# define MCE_STACK 3
# define N_EXCEPTION_STACKS 3  /* hw limit: 7 */
#else
# define STACKFAULT_STACK 1
# define DOUBLEFAULT_STACK 2
# define NMI_STACK 3
# define DEBUG_STACK 4
# define MCE_STACK 5
# define N_EXCEPTION_STACKS 5  /* hw limit: 7 */
#endif

-- Steve

(Continue reading)


Gmane