Messages in this thread | | | Date | Thu, 23 Jun 2016 13:31:32 -0500 | From | Josh Poimboeuf <> | Subject | Re: [RFC PATCH v2 05/18] sched: add task flag for preempt IRQ tracking |
| |
On Thu, Jun 23, 2016 at 09:35:29AM -0700, Andy Lutomirski wrote: > > So which is the least-bad option? To summarize: > > > > 1) task flag(s) for preemption and page faults > > > > 2) turn pt_regs into a stack frame > > > > 3) annotate all calls from entry code in a table > > > > 4) encode rbp on entry > > > > They all have their issues, though I'm partial to #2. > > > > Any more hare-brained ideas? :-) > > I'll try to take a closer look at #2 and see just how much I dislike > all the stack frame munging.
Ok.
> Also, in principle, it's only the > sleeping calls and the calls that make it into real (non-entry) kernel > code that really want to be unwindable through this mechanism.
Yeah, that's true. We could modify options 2 or 3 to be less absolute. Though I think that makes them more prone to future breakage.
> FWIW, I don't care that much about preserving gdb's partial ability to > unwind through pt_regs, especially because gdb really ought to be able > to use DWARF, too.
Hm, that's a good point. I really don't know if there are any other external tools out there that would care. Maybe we could try option 4 and then see if anybody complains.
-- Josh
| |