From: "Paul E. McKenney" This patch changes calls to synchronize_kernel(), deprecated in the earlier "Deprecate synchronize_kernel, GPL replacement" patch to instead call the new synchronize_rcu() and synchronize_sched() APIs. Signed-off-by: Paul E. McKenney Signed-off-by: Andrew Morton --- dev/null | 0 arch/i386/kernel/cpu/mcheck/mce.c | 2 +- arch/i386/oprofile/nmi_timer_int.c | 2 +- arch/ppc64/kernel/HvLpEvent.c | 2 +- drivers/acpi/processor_idle.c | 2 +- drivers/char/ipmi/ipmi_si_intf.c | 4 ++-- drivers/input/keyboard/atkbd.c | 2 +- drivers/md/multipath.c | 2 +- drivers/md/raid1.c | 2 +- drivers/md/raid10.c | 2 +- drivers/md/raid5.c | 2 +- drivers/md/raid6main.c | 2 +- drivers/net/r8169.c | 2 +- drivers/s390/cio/airq.c | 4 ++-- kernel/module.c | 2 +- kernel/profile.c | 2 +- mm/slab.c | 2 +- net/core/dev.c | 2 +- 18 files changed, 19 insertions(+), 19 deletions(-) diff -puN arch/i386/oprofile/nmi_timer_int.c~change-synchronize_kernel-to-_rcu-and-_sched arch/i386/oprofile/nmi_timer_int.c --- 25/arch/i386/oprofile/nmi_timer_int.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.063109720 -0700 +++ 25-akpm/arch/i386/oprofile/nmi_timer_int.c 2005-04-26 21:10:27.158095280 -0700 @@ -36,7 +36,7 @@ static void timer_stop(void) { enable_timer_nmi_watchdog(); unset_nmi_callback(); - synchronize_kernel(); + synchronize_sched(); /* Allow already-started NMIs to complete. */ } diff -puN arch/ppc64/kernel/HvLpEvent.c~change-synchronize_kernel-to-_rcu-and-_sched arch/ppc64/kernel/HvLpEvent.c --- 25/arch/ppc64/kernel/HvLpEvent.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.065109416 -0700 +++ 25-akpm/arch/ppc64/kernel/HvLpEvent.c 2005-04-26 21:10:27.159095128 -0700 @@ -45,7 +45,7 @@ int HvLpEvent_unregisterHandler( HvLpEve /* We now sleep until all other CPUs have scheduled. This ensures that * the deletion is seen by all other CPUs, and that the deleted handler * isn't still running on another CPU when we return. */ - synchronize_kernel(); + synchronize_rcu(); } } return rc; diff -L arch/x86_64/kernel/mce.c -puN /dev/null /dev/null diff -puN drivers/acpi/processor_idle.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/acpi/processor_idle.c --- 25/drivers/acpi/processor_idle.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.066109264 -0700 +++ 25-akpm/drivers/acpi/processor_idle.c 2005-04-26 21:10:29.292770760 -0700 @@ -890,7 +890,7 @@ int acpi_processor_cst_has_changed (stru /* Fall back to the default idle loop */ pm_idle = pm_idle_save; - synchronize_kernel(); + synchronize_sched(); /* Relies on interrupts forcing exit from idle. */ pr->flags.power = 0; result = acpi_processor_get_power_info(pr); diff -puN drivers/char/ipmi/ipmi_si_intf.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/char/ipmi/ipmi_si_intf.c --- 25/drivers/char/ipmi/ipmi_si_intf.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.073108200 -0700 +++ 25-akpm/drivers/char/ipmi/ipmi_si_intf.c 2005-04-26 21:10:29.294770456 -0700 @@ -2199,7 +2199,7 @@ static int init_one_smi(int intf_num, st /* Wait until we know that we are out of any interrupt handlers might have been running before we freed the interrupt. */ - synchronize_kernel(); + synchronize_sched(); if (new_smi->si_sm) { if (new_smi->handlers) @@ -2312,7 +2312,7 @@ static void __exit cleanup_one_si(struct /* Wait until we know that we are out of any interrupt handlers might have been running before we freed the interrupt. */ - synchronize_kernel(); + synchronize_sched(); /* Wait for the timer to stop. This avoids problems with race conditions removing the timer here. */ diff -puN drivers/input/keyboard/atkbd.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/input/keyboard/atkbd.c --- 25/drivers/input/keyboard/atkbd.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.091105464 -0700 +++ 25-akpm/drivers/input/keyboard/atkbd.c 2005-04-26 21:10:29.295770304 -0700 @@ -678,7 +678,7 @@ static void atkbd_disconnect(struct seri atkbd_disable(atkbd); /* make sure we don't have a command in flight */ - synchronize_kernel(); + synchronize_sched(); /* Allow atkbd_interrupt()s to complete. */ flush_scheduled_work(); device_remove_file(&serio->dev, &atkbd_attr_extra); diff -puN drivers/md/multipath.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/md/multipath.c --- 25/drivers/md/multipath.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.096104704 -0700 +++ 25-akpm/drivers/md/multipath.c 2005-04-26 21:10:29.295770304 -0700 @@ -355,7 +355,7 @@ static int multipath_remove_disk(mddev_t goto abort; } p->rdev = NULL; - synchronize_kernel(); + synchronize_rcu(); if (atomic_read(&rdev->nr_pending)) { /* lost the race, try later */ err = -EBUSY; diff -puN drivers/md/raid10.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/md/raid10.c --- 25/drivers/md/raid10.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.098104400 -0700 +++ 25-akpm/drivers/md/raid10.c 2005-04-26 21:10:29.297770000 -0700 @@ -977,7 +977,7 @@ static int raid10_remove_disk(mddev_t *m goto abort; } p->rdev = NULL; - synchronize_kernel(); + synchronize_rcu(); if (atomic_read(&rdev->nr_pending)) { /* lost the race, try later */ err = -EBUSY; diff -puN drivers/md/raid1.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/md/raid1.c --- 25/drivers/md/raid1.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.099104248 -0700 +++ 25-akpm/drivers/md/raid1.c 2005-04-26 21:10:29.298769848 -0700 @@ -797,7 +797,7 @@ static int raid1_remove_disk(mddev_t *md goto abort; } p->rdev = NULL; - synchronize_kernel(); + synchronize_rcu(); if (atomic_read(&rdev->nr_pending)) { /* lost the race, try later */ err = -EBUSY; diff -puN drivers/md/raid5.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/md/raid5.c --- 25/drivers/md/raid5.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.101103944 -0700 +++ 25-akpm/drivers/md/raid5.c 2005-04-26 21:10:29.300769544 -0700 @@ -1873,7 +1873,7 @@ static int raid5_remove_disk(mddev_t *md goto abort; } p->rdev = NULL; - synchronize_kernel(); + synchronize_rcu(); if (atomic_read(&rdev->nr_pending)) { /* lost the race, try later */ err = -EBUSY; diff -puN drivers/md/raid6main.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/md/raid6main.c --- 25/drivers/md/raid6main.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.102103792 -0700 +++ 25-akpm/drivers/md/raid6main.c 2005-04-26 21:10:29.301769392 -0700 @@ -2038,7 +2038,7 @@ static int raid6_remove_disk(mddev_t *md goto abort; } p->rdev = NULL; - synchronize_kernel(); + synchronize_rcu(); if (atomic_read(&rdev->nr_pending)) { /* lost the race, try later */ err = -EBUSY; diff -puN drivers/net/r8169.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/net/r8169.c --- 25/drivers/net/r8169.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.120101056 -0700 +++ 25-akpm/drivers/net/r8169.c 2005-04-26 21:10:29.303769088 -0700 @@ -2405,7 +2405,7 @@ core_down: } /* Give a racing hard_start_xmit a few cycles to complete. */ - synchronize_kernel(); + synchronize_sched(); /* FIXME: should this be synchronize_irq()? */ /* * And now for the 50k$ question: are IRQ disabled or not ? diff -puN drivers/s390/cio/airq.c~change-synchronize_kernel-to-_rcu-and-_sched drivers/s390/cio/airq.c --- 25/drivers/s390/cio/airq.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.129099688 -0700 +++ 25-akpm/drivers/s390/cio/airq.c 2005-04-26 21:10:29.304768936 -0700 @@ -45,7 +45,7 @@ s390_register_adapter_interrupt (adapter else ret = (cmpxchg(&adapter_handler, NULL, handler) ? -EBUSY : 0); if (!ret) - synchronize_kernel(); + synchronize_sched(); /* Allow interrupts to complete. */ sprintf (dbf_txt, "ret:%d", ret); CIO_TRACE_EVENT (4, dbf_txt); @@ -65,7 +65,7 @@ s390_unregister_adapter_interrupt (adapt ret = -EINVAL; else { adapter_handler = NULL; - synchronize_kernel(); + synchronize_sched(); /* Allow interrupts to complete. */ ret = 0; } sprintf (dbf_txt, "ret:%d", ret); diff -puN kernel/module.c~change-synchronize_kernel-to-_rcu-and-_sched kernel/module.c --- 25/kernel/module.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.135098776 -0700 +++ 25-akpm/kernel/module.c 2005-04-26 21:10:29.306768632 -0700 @@ -1801,7 +1801,7 @@ sys_init_module(void __user *umod, /* Init routine failed: abort. Try to protect us from buggy refcounters. */ mod->state = MODULE_STATE_GOING; - synchronize_kernel(); + synchronize_sched(); if (mod->unsafe) printk(KERN_ERR "%s: module is now stuck!\n", mod->name); diff -puN kernel/profile.c~change-synchronize_kernel-to-_rcu-and-_sched kernel/profile.c --- 25/kernel/profile.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.136098624 -0700 +++ 25-akpm/kernel/profile.c 2005-04-26 21:10:29.307768480 -0700 @@ -184,7 +184,7 @@ void unregister_timer_hook(int (*hook)(s WARN_ON(hook != timer_hook); timer_hook = NULL; /* make sure all CPUs see the NULL hook */ - synchronize_kernel(); + synchronize_sched(); /* Allow ongoing interrupts to complete. */ } EXPORT_SYMBOL_GPL(register_timer_hook); diff -puN mm/slab.c~change-synchronize_kernel-to-_rcu-and-_sched mm/slab.c --- 25/mm/slab.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.138098320 -0700 +++ 25-akpm/mm/slab.c 2005-04-26 21:10:29.309768176 -0700 @@ -1666,7 +1666,7 @@ int kmem_cache_destroy(kmem_cache_t * ca } if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) - synchronize_kernel(); + synchronize_rcu(); /* no cpu_online check required here since we clear the percpu * array on cpu offline and set this to NULL. diff -puN net/core/dev.c~change-synchronize_kernel-to-_rcu-and-_sched net/core/dev.c --- 25/net/core/dev.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:27.154095888 -0700 +++ 25-akpm/net/core/dev.c 2005-04-26 21:10:29.311767872 -0700 @@ -3091,7 +3091,7 @@ void free_netdev(struct net_device *dev) void synchronize_net(void) { might_sleep(); - synchronize_kernel(); + synchronize_rcu(); } /** diff -puN arch/i386/kernel/cpu/mcheck/mce.c~change-synchronize_kernel-to-_rcu-and-_sched arch/i386/kernel/cpu/mcheck/mce.c --- 25/arch/i386/kernel/cpu/mcheck/mce.c~change-synchronize_kernel-to-_rcu-and-_sched 2005-04-26 21:10:39.486221120 -0700 +++ 25-akpm/arch/i386/kernel/cpu/mcheck/mce.c 2005-04-26 21:10:57.505481776 -0700 @@ -405,7 +405,7 @@ static ssize_t mce_read(struct file *fil memset(mcelog.entry, 0, next * sizeof(struct mce)); mcelog.next = 0; - synchronize_kernel(); + synchronize_sched(); /* Allow all already-started MCEs to complete. */ /* Collect entries that were still getting written before the synchronize. */ _