Messages in this thread | | | Date | Fri, 25 Apr 2008 19:34:24 -0400 | From | Masami Hiramatsu <> | Subject | Re: [PATCH 1/1] x86: fix text_poke |
| |
Jeremy Fitzhardinge wrote: > Mathieu Desnoyers wrote: >> This idea has been considered a few years ago at OLS in the tracing BOF >> if I remember well. The results were this : First, there is no way to >> guarantee that no code path, nor any return address from any function, >> interrupt, sleeping thread, will return to the "old" version of the >> function. Nor is it possible to determine when a quiescent state is >> reached. Therefore, we couldn't see how we can do the teardown. >> > > Does that matter? The new function is semantically identical to the old > one, and the old code will remain in place. If there's still users in > the old function it may take a while for them to get flushed out (and > won't be traced in the meantime), but you have to expect some missed > events if you're shoving any kind of dynamic marker into the code. The > main problem is if there's something still depending on the first 5 > bytes of the function (most likely if there's a loop head somewhere near > the top of the function).
I think we have to ensure no threads sleeping or being interrupted on the function when removing new function. How would you check it?
-- Masami Hiramatsu
Software Engineer Hitachi Computer Products (America) Inc. Software Solutions Division
e-mail: mhiramat@redhat.com
| |