forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/l…
…inux/kernel/git/tip/tip Pull scheduler changes from Ingo Molnar: "The main changes in this development cycle were: - full dynticks preparatory work by Frederic Weisbecker - factor out the cpu time accounting code better, by Li Zefan - multi-CPU load balancer cleanups and improvements by Joonsoo Kim - various smaller fixes and cleanups" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits) sched: Fix init NOHZ_IDLE flag sched: Prevent to re-select dst-cpu in load_balance() sched: Rename load_balance_tmpmask to load_balance_mask sched: Move up affinity check to mitigate useless redoing overhead sched: Don't consider other cpus in our group in case of NEWLY_IDLE sched: Explicitly cpu_idle_type checking in rebalance_domains() sched: Change position of resched_cpu() in load_balance() sched: Fix wrong rq's runnable_avg update with rt tasks sched: Document task_struct::personality field sched/cpuacct/UML: Fix header file dependency bug on the UML build cgroup: Kill subsys.active flag sched/cpuacct: No need to check subsys active state sched/cpuacct: Initialize cpuacct subsystem earlier sched/cpuacct: Initialize root cpuacct earlier sched/cpuacct: Allocate per_cpu cpuusage for root cpuacct statically sched/cpuacct: Clean up cpuacct.h sched/cpuacct: Remove redundant NULL checks in cpuacct_acount_field() sched/cpuacct: Remove redundant NULL checks in cpuacct_charge() sched/cpuacct: Add cpuacct_acount_field() sched/cpuacct: Add cpuacct_init() ...
- Loading branch information
Showing
20 changed files
with
834 additions
and
709 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,10 @@ | ||
#ifndef _ASM_X86_CONTEXT_TRACKING_H | ||
#define _ASM_X86_CONTEXT_TRACKING_H | ||
|
||
#ifndef __ASSEMBLY__ | ||
#include <linux/context_tracking.h> | ||
#include <asm/ptrace.h> | ||
|
||
static inline void exception_enter(struct pt_regs *regs) | ||
{ | ||
user_exit(); | ||
} | ||
|
||
static inline void exception_exit(struct pt_regs *regs) | ||
{ | ||
#ifdef CONFIG_CONTEXT_TRACKING | ||
if (user_mode(regs)) | ||
user_enter(); | ||
#endif | ||
} | ||
|
||
#else /* __ASSEMBLY__ */ | ||
|
||
#ifdef CONFIG_CONTEXT_TRACKING | ||
# define SCHEDULE_USER call schedule_user | ||
#else | ||
# define SCHEDULE_USER call schedule | ||
#endif | ||
|
||
#endif /* !__ASSEMBLY__ */ | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,7 @@ | |
* Authors: Anthony Liguori <[email protected]> | ||
*/ | ||
|
||
#include <linux/context_tracking.h> | ||
#include <linux/module.h> | ||
#include <linux/kernel.h> | ||
#include <linux/kvm_para.h> | ||
|
@@ -43,7 +44,6 @@ | |
#include <asm/apicdef.h> | ||
#include <asm/hypervisor.h> | ||
#include <asm/kvm_guest.h> | ||
#include <asm/context_tracking.h> | ||
|
||
static int kvmapf = 1; | ||
|
||
|
@@ -254,16 +254,18 @@ EXPORT_SYMBOL_GPL(kvm_read_and_reset_pf_reason); | |
dotraplinkage void __kprobes | ||
do_async_page_fault(struct pt_regs *regs, unsigned long error_code) | ||
{ | ||
enum ctx_state prev_state; | ||
|
||
switch (kvm_read_and_reset_pf_reason()) { | ||
default: | ||
do_page_fault(regs, error_code); | ||
break; | ||
case KVM_PV_REASON_PAGE_NOT_PRESENT: | ||
/* page is swapped out by the host. */ | ||
exception_enter(regs); | ||
prev_state = exception_enter(); | ||
exit_idle(); | ||
kvm_async_pf_task_wait((u32)read_cr2()); | ||
exception_exit(regs); | ||
exception_exit(prev_state); | ||
break; | ||
case KVM_PV_REASON_PAGE_READY: | ||
rcu_irq_enter(); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.