diff options
63 files changed, 3775 insertions, 626 deletions
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 26b7ee491df8..6d486404200e 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
| @@ -428,11 +428,6 @@ rate for each task. | |||
| 428 | numa_balancing_scan_size_mb is how many megabytes worth of pages are | 428 | numa_balancing_scan_size_mb is how many megabytes worth of pages are |
| 429 | scanned for a given scan. | 429 | scanned for a given scan. |
| 430 | 430 | ||
| 431 | numa_balancing_settle_count is how many scan periods must complete before | ||
| 432 | the schedule balancer stops pushing the task towards a preferred node. This | ||
| 433 | gives the scheduler a chance to place the task on an alternative node if the | ||
| 434 | preferred node is overloaded. | ||
| 435 | |||
| 436 | numa_balancing_migrate_deferred is how many page migrations get skipped | 431 | numa_balancing_migrate_deferred is how many page migrations get skipped |
| 437 | unconditionally, after a page migration is skipped because a page is shared | 432 | unconditionally, after a page migration is skipped because a page is shared |
| 438 | with other tasks. This reduces page migration overhead, and determines | 433 | with other tasks. This reduces page migration overhead, and determines |
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h index 141baa3f9a72..acabef1a75df 100644 --- a/arch/arm/include/asm/unistd.h +++ b/arch/arm/include/asm/unistd.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | #include <uapi/asm/unistd.h> | 16 | #include <uapi/asm/unistd.h> |
| 17 | 17 | ||
| 18 | #define __NR_syscalls (380) | 18 | #define __NR_syscalls (384) |
| 19 | #define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0) | 19 | #define __ARM_NR_cmpxchg (__ARM_NR_BASE+0x00fff0) |
| 20 | 20 | ||
| 21 | #define __ARCH_WANT_STAT64 | 21 | #define __ARCH_WANT_STAT64 |
diff --git a/arch/arm/include/uapi/asm/unistd.h b/arch/arm/include/uapi/asm/unistd.h index af33b44990ed..fb5584d0cc05 100644 --- a/arch/arm/include/uapi/asm/unistd.h +++ b/arch/arm/include/uapi/asm/unistd.h | |||
| @@ -406,6 +406,8 @@ | |||
| 406 | #define __NR_process_vm_writev (__NR_SYSCALL_BASE+377) | 406 | #define __NR_process_vm_writev (__NR_SYSCALL_BASE+377) |
| 407 | #define __NR_kcmp (__NR_SYSCALL_BASE+378) | 407 | #define __NR_kcmp (__NR_SYSCALL_BASE+378) |
| 408 | #define __NR_finit_module (__NR_SYSCALL_BASE+379) | 408 | #define __NR_finit_module (__NR_SYSCALL_BASE+379) |
| 409 | #define __NR_sched_setattr (__NR_SYSCALL_BASE+380) | ||
| 410 | #define __NR_sched_getattr (__NR_SYSCALL_BASE+381) | ||
| 409 | 411 | ||
| 410 | /* | 412 | /* |
| 411 | * This may need to be greater than __NR_last_syscall+1 in order to | 413 | * This may need to be greater than __NR_last_syscall+1 in order to |
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S index c6ca7e376773..166e945de832 100644 --- a/arch/arm/kernel/calls.S +++ b/arch/arm/kernel/calls.S | |||
| @@ -389,6 +389,8 @@ | |||
| 389 | CALL(sys_process_vm_writev) | 389 | CALL(sys_process_vm_writev) |
| 390 | CALL(sys_kcmp) | 390 | CALL(sys_kcmp) |
| 391 | CALL(sys_finit_module) | 391 | CALL(sys_finit_module) |
| 392 | /* 380 */ CALL(sys_sched_setattr) | ||
| 393 | CALL(sys_sched_getattr) | ||
| 392 | #ifndef syscalls_counted | 394 | #ifndef syscalls_counted |
| 393 | .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls | 395 | .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls |
| 394 | #define syscalls_counted | 396 | #define syscalls_counted |
diff --git a/arch/m68k/include/asm/mac_via.h b/arch/m68k/include/asm/mac_via.h index aeeedf8b2d25..fe3fc9ae1b69 100644 --- a/arch/m68k/include/asm/mac_via.h +++ b/arch/m68k/include/asm/mac_via.h | |||
| @@ -254,6 +254,8 @@ | |||
| 254 | extern volatile __u8 *via1,*via2; | 254 | extern volatile __u8 *via1,*via2; |
| 255 | extern int rbv_present,via_alt_mapping; | 255 | extern int rbv_present,via_alt_mapping; |
| 256 | 256 | ||
| 257 | struct irq_desc; | ||
| 258 | |||
| 257 | extern void via_register_interrupts(void); | 259 | extern void via_register_interrupts(void); |
| 258 | extern void via_irq_enable(int); | 260 | extern void via_irq_enable(int); |
| 259 | extern void via_irq_disable(int); | 261 | extern void via_irq_disable(int); |
diff --git a/arch/x86/include/asm/mwait.h b/arch/x86/include/asm/mwait.h index 2f366d0ac6b4..1da25a5f96f9 100644 --- a/arch/x86/include/asm/mwait.h +++ b/arch/x86/include/asm/mwait.h | |||
| @@ -1,6 +1,8 @@ | |||
| 1 | #ifndef _ASM_X86_MWAIT_H | 1 | #ifndef _ASM_X86_MWAIT_H |
| 2 | #define _ASM_X86_MWAIT_H | 2 | #define _ASM_X86_MWAIT_H |
| 3 | 3 | ||
| 4 | #include <linux/sched.h> | ||
| 5 | |||
| 4 | #define MWAIT_SUBSTATE_MASK 0xf | 6 | #define MWAIT_SUBSTATE_MASK 0xf |
| 5 | #define MWAIT_CSTATE_MASK 0xf | 7 | #define MWAIT_CSTATE_MASK 0xf |
| 6 | #define MWAIT_SUBSTATE_SIZE 4 | 8 | #define MWAIT_SUBSTATE_SIZE 4 |
| @@ -13,4 +15,45 @@ | |||
| 13 | 15 | ||
| 14 | #define MWAIT_ECX_INTERRUPT_BREAK 0x1 | 16 | #define MWAIT_ECX_INTERRUPT_BREAK 0x1 |
| 15 | 17 | ||
| 18 | static inline void __monitor(const void *eax, unsigned long ecx, | ||
| 19 | unsigned long edx) | ||
| 20 | { | ||
| 21 | /* "monitor %eax, %ecx, %edx;" */ | ||
| 22 | asm volatile(".byte 0x0f, 0x01, 0xc8;" | ||
| 23 | :: "a" (eax), "c" (ecx), "d"(edx)); | ||
| 24 | } | ||
| 25 | |||
