On Mon, Jan 09, 2017 at 01:50:19PM +0100, Miroslav Benes wrote:
> There is still one thing which I don't understand. Why __schedule() 
> (patched or the original) is not on the stack. The actual "sleep" 
> should happen in __switch_to_asm() which is C function now. And there is a 
> call to __switch_to_asm() in __schedule(). __schedule() thus should be on 
> the stack, shouldn't it? What am I missing? __switch_to_asm() pushes %rbp 
> on the stack...

Ah, this is an unwinder bug.  get_frame_pointer() needs to be fixed so
that for an inactive task it returns a pointer to inactive_task_frame.bp
rather than the value of inactive_task_frame.bp itself.  Will fix it.

-- 
Josh

Reply via email to