Messages in this thread | | | Date | Mon, 10 Dec 2012 13:57:48 +0000 | From | Russell King - ARM Linux <> | Subject | Re: [PATCH] ARM: ftrace: Ensure code modifications are synchronised across all cpus |
| |
On Mon, Dec 10, 2012 at 08:02:17AM -0500, Steven Rostedt wrote: > On Mon, 2012-12-10 at 10:04 +0000, Will Deacon wrote: > > Yes, and I think if you do use two 16-bit nops, you can even get rid of all > > the intermediate `sync' operations (I guess you might want one at the end if > > you want the call to become visible at a particular point). > > Wont work. We are replacing a 32bit call with a nop. That nop must also > be 32bits, because we could eventually replace the nop(s) with a 32bit > call.
... which, if it's misaligned to a 32-bit boundary, which can happen with Thumb-2 code, will require the replacement to be done atomically; you will need to use stop_machine() to ensure that other CPUs don't try to execute the instruction mid-way through modification... as I have already explained in my previous mails.
| |