Re: [RFC][PATCH] x86: make text_poke() atomic

Linus Torvalds
2009-03-02T18:44:38Z

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