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

From: Linus Torvalds
Date: Mon Mar 02 2009 - 13:44:38 EST




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