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

From: Masami Hiramatsu
Date: Mon Mar 02 2009 - 14:14:45 EST


Arjan van de Ven wrote:
On Mon, 2 Mar 2009 13:36:17 -0500
Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:

* Arjan van de Ven (arjan@xxxxxxxxxxxxx) wrote:
Use map_vm_area() instead of vmap() in text_poke() for avoiding
page allocation and delayed unmapping, and call
vunmap_page_range() and local_flush_tlb() directly because this
mapping is temporary and local.

At the result of above change, text_poke() becomes atomic and can
be called from stop_machine() etc.
.... 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...
Hi Arjan,

Stop machine is not required when inserting a breakpoint.

that is your assumption; when I spoke with CPU architects they
cringed ;(

Is that true even if modifying just one-byte (like int3 insertion)
and we don't care synchronous write(that means code modification
effects on other processors after a while)?

Thank you,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

--
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/