linux_dsm_epyc7002/arch/x86/kernel
Denys Vlasenko 36acef2510 x86/asm/entry/64: Simplify looping around preempt_schedule_irq()
At the 'exit_intr' label we test whether interrupt/exception was in
kernel. If it did, we jump to the preemption check. If preemption
does happen (IOW if we call preempt_schedule_irq()), we go back to
'exit_intr'.

But it's pointless, we already know that the test succeeded last
time, preemption doesn't change the fact that interrupt/exception
was in the kernel.

We can go back directly to checking PER_CPU_VAR(__preempt_count) instead.

This makes the 'exit_intr' label unused, drop it.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Will Drewry <wad@chromium.org>
Link: http://lkml.kernel.org/r/1427821211-25099-5-git-send-email-dvlasenk@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-04-01 13:17:39 +02:00
..
acpi x86/platform, acpi: Bypass legacy PIC and PIT in ACPI hardware reduced mode 2015-03-12 12:07:13 +01:00
apic x86/apic/numachip: Fix sibling map with NumaChip 2015-03-12 16:58:59 +01:00
cpu x86/asm/entry: Remove user_mode_ignore_vm86() 2015-03-31 11:45:19 +02:00
kprobes x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
.gitignore
alternative.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
amd_gart_64.c
amd_nb.c
apb_timer.c x86/platform: Remove unused function from apb_timer.c 2014-12-23 10:43:35 +01:00
aperture_64.c
apm_32.c
asm-offsets_32.c x86/asm/entry/32: Document the 32-bit SYSENTER "emergency stack" better 2015-03-17 09:25:29 +01:00
asm-offsets_64.c x86/asm/entry/64/compat: Change the 32-bit sysenter code to use sp0 2015-03-06 08:32:58 +01:00
asm-offsets.c
audit_64.c
bootflag.c
check.c
cpuid.c
crash_dump_32.c
crash_dump_64.c
crash.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
devicetree.c
doublefault.c
dumpstack_32.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
dumpstack_64.c
dumpstack.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
e820.c x86, e820: Clean up sanitize_e820_map() users 2015-01-23 16:14:27 +01:00
early_printk.c Specify PCI based UART for earlyprintk 2015-02-02 10:11:27 -08:00
early-quirks.c
entry_32.S x86/asm/entry: Create and use a 'TOP_OF_KERNEL_STACK_PADDING' macro 2015-03-17 09:25:26 +01:00
entry_64.S x86/asm/entry/64: Simplify looping around preempt_schedule_irq() 2015-04-01 13:17:39 +02:00
espfix_64.c
ftrace.c module: remove mod arg from module_free, rename module_memfree(). 2015-01-20 11:38:33 +10:30
head32.c x86: Store a per-cpu shadow copy of CR4 2015-02-04 12:10:42 +01:00
head64.c Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-02-16 14:58:12 -08:00
head_32.S x86/asm/boot: Use already defined KEEP_SEGMENTS macro in head_{32,64}.S 2015-02-19 10:05:04 +01:00
head_64.S x86/asm: Optimize unnecessarily wide TEST instructions 2015-03-07 11:12:43 +01:00
head.c
hpet.c kernel.h: remove ancient __FUNCTION__ hack 2015-02-12 18:54:13 -08:00
hw_breakpoint.c
i386_ksyms_32.c
i387.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
i8237.c
i8253.c
i8259.c
io_delay.c
ioport.c x86/asm/entry: Rename 'init_tss' to 'cpu_tss' 2015-03-06 08:32:58 +01:00
iosf_mbi.c
irq_32.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
irq_64.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
irq_work.c
irq.c x86/irq: Check for valid irq descriptor in check_irq_vectors_for_cpu_disable() 2015-02-18 15:01:42 +01:00
irqinit.c
jump_label.c
kdebugfs.c
kexec-bzimage64.c
kgdb.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
ksysfs.c
kvm.c x86/spinlocks/paravirt: Fix memory corruption on unlock 2015-02-18 14:53:49 +01:00
kvmclock.c
ldt.c
livepatch.c
machine_kexec_32.c
machine_kexec_64.c
Makefile Linux 4.0-rc2 2015-03-04 06:35:43 +01:00
mcount_64.S
mmconf-fam10h_64.c
module.c Revert "x86/mm/ASLR: Propagate base load address calculation" 2015-03-16 11:18:21 +01:00
mpparse.c
msr.c
nmi_selftest.c
nmi.c
paravirt_patch_32.c
paravirt_patch_64.c
paravirt-spinlocks.c
paravirt.c
pci-calgary_64.c
pci-dma.c
pci-iommu_table.c
pci-nommu.c
pci-swiotlb.c
pcspeaker.c
perf_regs.c x86/asm/entry/64: Save user RSP in pt_regs->sp on SYSCALL64 fastpath 2015-03-10 13:56:10 +01:00
pmc_atom.c x86: pmc_atom: Expose contents of PSS 2015-01-20 12:50:14 +01:00
probe_roms.c
process_32.c x86/asm/entry: Get rid of KERNEL_STACK_OFFSET 2015-03-24 19:42:38 +01:00
process_64.c x86/asm/entry: Get rid of KERNEL_STACK_OFFSET 2015-03-24 19:42:38 +01:00
process.c x86/asm/entry: Unify and fix initial thread_struct::sp0 values 2015-03-17 09:25:27 +01:00
ptrace.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
pvclock.c
quirks.c
reboot_fixups_32.c
reboot.c
relocate_kernel_32.S x86/asm: Optimize unnecessarily wide TEST instructions 2015-03-07 11:12:43 +01:00
relocate_kernel_64.S x86/asm: Optimize unnecessarily wide TEST instructions 2015-03-07 11:12:43 +01:00
resource.c
rtc.c kernel.h: remove ancient __FUNCTION__ hack 2015-02-12 18:54:13 -08:00
setup_percpu.c
setup.c Revert "x86/mm/ASLR: Propagate base load address calculation" 2015-03-16 11:18:21 +01:00
signal.c x86/asm/entry: Fix execve() and sigreturn() syscalls to always return via IRET 2015-03-23 08:52:46 +01:00
smp.c
smpboot.c x86/asm/entry: Get rid of KERNEL_STACK_OFFSET 2015-03-24 19:42:38 +01:00
stacktrace.c
step.c
sys_x86_64.c
syscall_32.c x86/compat: Merge native and compat 32-bit syscall tables 2015-03-04 06:16:21 +01:00
syscall_64.c
sysfb_efi.c
sysfb_simplefb.c
sysfb.c
tboot.c
tce_64.c
test_nx.c
test_rodata.c
time.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
tls.c x86, tls: Interpret an all-zero struct user_desc as "no segment" 2015-01-22 21:45:07 +01:00
tls.h
topology.c
trace_clock.c
tracepoint.c
traps.c x86/asm/entry: Remove user_mode_ignore_vm86() 2015-03-31 11:45:19 +02:00
tsc_msr.c
tsc_sync.c
tsc.c x86/tsc: Change Fast TSC calibration failed from error to info 2015-01-23 10:53:52 +01:00
uprobes.c x86/asm/entry: Change all 'user_mode_vm()' calls to 'user_mode()' 2015-03-23 11:14:17 +01:00
verify_cpu.S
vm86_32.c x86/asm/entry: Rename 'init_tss' to 'cpu_tss' 2015-03-06 08:32:58 +01:00
vmlinux.lds.S
vsmp_64.c
vsyscall_64.c
vsyscall_emu_64.S
vsyscall_gtod.c
vsyscall_trace.h
x86_init.c
x8664_ksyms_64.c x86_64: kasan: add interceptors for memset/memmove/memcpy functions 2015-02-13 21:21:41 -08:00
xsave.c x86/fpu: Avoid math_state_restore() without used_math() in __restore_xstate_sig() 2015-03-13 12:44:28 +01:00