Messages in this thread | | | Date | Mon, 2 Mar 2009 10:42:21 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [RFC][PATCH] x86: make text_poke() atomic |
| |
On Mon, 2 Mar 2009, Arjan van de Ven wrote: > > .... but text_poke() realistically needs to call stop_machine() since > you can't poke live code.... so that makes me wonder how useful this > is...
Well, not always. There's at least two cases where we don't need it:
- in the UP -> SMP transition.
- perhaps more interestingly, we're still kind of waiting for the resolution of the whole "nop out the first byte to a single-byte 'irq3' trap instruction, then rewrite the rest of the instruction, and then reset the first byte of the final instruction" thing.
IOW, there are possible non-stop_machine() models where rewriting instructions in a live system does work, and quite frankly, I think we need them. Making the rule be the (obviously safe) "we can only do this in stop_machine" is quite possibly not going to be an acceptable rule and we may need alternatives.
Linus
| |