From: Matt Helsley Mark profile notifier blocks __read_mostly since once registered they tend not to be written. This seems like a good idea but I'm not yet familiar enough with the profile paths to be certain. Compiles, boots, and runs with CONFIG_PROFILING=y and readprofile on a 4-way Opteron running Debian Sarge. Signed-off-by: Matt Helsley Cc: Signed-off-by: Andrew Morton --- drivers/oprofile/buffer_sync.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff -puN drivers/oprofile/buffer_sync.c~mark-profile-notifier-blocks-__read_mostly drivers/oprofile/buffer_sync.c --- a/drivers/oprofile/buffer_sync.c~mark-profile-notifier-blocks-__read_mostly +++ a/drivers/oprofile/buffer_sync.c @@ -117,19 +117,19 @@ static int module_load_notify(struct not } -static struct notifier_block task_free_nb = { +static struct notifier_block __read_mostly task_free_nb = { .notifier_call = task_free_notify, }; -static struct notifier_block task_exit_nb = { +static struct notifier_block __read_mostly task_exit_nb = { .notifier_call = task_exit_notify, }; -static struct notifier_block munmap_nb = { +static struct notifier_block __read_mostly munmap_nb = { .notifier_call = munmap_notify, }; -static struct notifier_block module_load_nb = { +static struct notifier_block __read_mostly module_load_nb = { .notifier_call = module_load_notify, }; _