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 -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html