mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 06:32:08 +00:00
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler changes from Ingo Molnar: "Various optimizations, cleanups and smaller fixes - no major changes in scheduler behavior" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/fair: Fix the sd_parent_degenerate() code sched/fair: Rework and comment the group_imb code sched/fair: Optimize find_busiest_queue() sched/fair: Make group power more consistent sched/fair: Remove duplicate load_per_task computations sched/fair: Shrink sg_lb_stats and play memset games sched: Clean-up struct sd_lb_stat sched: Factor out code to should_we_balance() sched: Remove one division operation in find_busiest_queue() sched/cputime: Use this_cpu_add() in task_group_account_field() cpumask: Fix cpumask leak in partition_sched_domains() sched/x86: Optimize switch_mm() for multi-threaded workloads generic-ipi: Kill unnecessary variable - csd_flags numa: Mark __node_set() as __always_inline sched/fair: Cleanup: remove duplicate variable declaration sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing
This commit is contained in:
commit
5e0b3a4e88
6 changed files with 348 additions and 271 deletions
14
kernel/smp.c
14
kernel/smp.c
|
@ -186,25 +186,13 @@ void generic_smp_call_function_single_interrupt(void)
|
|||
|
||||
while (!list_empty(&list)) {
|
||||
struct call_single_data *csd;
|
||||
unsigned int csd_flags;
|
||||
|
||||
csd = list_entry(list.next, struct call_single_data, list);
|
||||
list_del(&csd->list);
|
||||
|
||||
/*
|
||||
* 'csd' can be invalid after this call if flags == 0
|
||||
* (when called through generic_exec_single()),
|
||||
* so save them away before making the call:
|
||||
*/
|
||||
csd_flags = csd->flags;
|
||||
|
||||
csd->func(csd->info);
|
||||
|
||||
/*
|
||||
* Unlocked CSDs are valid through generic_exec_single():
|
||||
*/
|
||||
if (csd_flags & CSD_FLAG_LOCK)
|
||||
csd_unlock(csd);
|
||||
csd_unlock(csd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue