jump_label: add arch_jump_label_transform_static() to optimise non-live code updates
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Mon, 3 Oct 2011 18:01:46 +0000 (11:01 -0700)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Tue, 25 Oct 2011 18:54:31 +0000 (11:54 -0700)
commit20284aa77c0f6227da4783a920b72dc61d4bcc09
tree46fb708a9508e3d718be7eb432367547e71208d3
parent92e02396d7214fdc7c25239eb647eb48e6fe6ba9
jump_label: add arch_jump_label_transform_static() to optimise non-live code updates

When updating a newly loaded module, the code is definitely not yet
executing on any processor, so it can be updated with no need for any
heavyweight synchronization.

This patch adds arch_jump_label_static() which is implemented as
arch_jump_label_transform() by default, but architectures can override
it if it avoids, say, a call to stop_machine().

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Jason Baron <jbaron@redhat.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
include/linux/jump_label.h
kernel/jump_label.c