linux_dsm_epyc7002/arch/ia64/kernel
Sebastian Andrzej Siewior fbb0e4da96 ia64: salinfo: use a waitqueue instead a sema down/up combo
The only purpose of down_try_lock() followed by up() seems to be to wake
up a possible reader. This patch replaces it with a wake-queue. There is
no locking around cpumask_empty() and the test is re-done in case there
was no hit.
With wait_event_interruptible_lock_irq(,&data_saved_lock) we would probably
be able to get rid of the `retry` label. However we still can return CPU
X which is valid now but later (after the lock dropped) the event may
have been removed because the CPU went offline.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2016-07-25 09:55:32 -07:00
..
.gitignore
acpi-ext.c
acpi.c Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
asm-offsets.c
audit.c
brl_emu.c
crash_dump.c
crash.c
cyclone.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
dma-mapping.c
efi_stub.S
efi.c ia64: efi: use timespec64 for persistent clock 2016-06-17 13:45:05 -07:00
elfcore.c
entry.h
entry.S [IA64] Enable preadv2 and pwritev2 syscalls for ia64 2016-03-25 14:37:32 -07:00
err_inject.c mm/gup: Switch all callers of get_user_pages() to not pass tsk/mm 2016-02-16 10:11:12 +01:00
esi_stub.S
esi.c
fsys.S ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
fsyscall_gtod_data.h
ftrace.c ia64: ftrace: Fix the comments for ftrace_modify_code() 2015-12-23 14:27:23 -05:00
gate-data.S
gate.lds.S ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
gate.S ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
head.S ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
ia64_ksyms.c ia64: export flush_icache_range for module use 2015-06-15 14:58:24 -07:00
init_task.c
iosapic.c ia64: rename nop->iosapic_nop 2016-01-12 20:46:47 +02:00
irq_ia64.c
irq_lsapic.c
irq.c ia64/irq: Use access helper irq_data_get_affinity_mask() 2015-07-27 13:36:37 +02:00
ivt.S ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
jprobes.S
kprobes.c
machine_kexec.c
machvec.c
Makefile ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
Makefile.gate
mca_asm.S
mca_drv_asm.S
mca_drv.c
mca_drv.h
mca.c ia64: Remove superfluous SMP function call 2016-05-02 13:23:44 -07:00
minstate.h ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
module.c module: use a structure to encapsulate layout. 2015-12-04 22:46:25 +01:00
msi_ia64.c ia64/irq: Use access helper irq_data_get_affinity_mask() 2015-07-27 13:36:37 +02:00
nr-irqs.c
numa.c
pal.S
palinfo.c
patch.c ia64: remove paravirt code 2015-06-10 14:26:32 -07:00
pci-dma.c
pci-swiotlb.c
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
perfmon.c exit_thread: accept a task parameter to be exited 2016-05-20 17:58:30 -07:00
process.c exit_thread: accept a task parameter to be exited 2016-05-20 17:58:30 -07:00
ptrace.c
relocate_kernel.S
sal.c
salinfo.c ia64: salinfo: use a waitqueue instead a sema down/up combo 2016-07-25 09:55:32 -07:00
setup.c ia64: Set System RAM type and descriptor 2016-01-30 09:49:57 +01:00
sigframe.h
signal.c
smp.c
smpboot.c arch/hotplug: Call into idle with a proper state 2016-03-01 20:36:57 +01:00
stacktrace.c
sys_ia64.c
time.c ia64: efi: use timespec64 for persistent clock 2016-06-17 13:45:05 -07:00
topology.c
traps.c ia64/traps: Silence GCC warning about uninitialised variable 2016-05-05 10:29:14 -07:00
unaligned.c ia64/unaligned: Silence another GCC warning about an uninitialised variable 2016-05-05 10:29:14 -07:00
uncached.c mm: rename alloc_pages_exact_node() to __alloc_pages_node() 2015-09-08 15:35:28 -07:00
unwind_decoder.c
unwind_i.h
unwind.c
vmlinux.lds.S ia64: remove paravirt code 2015-06-10 14:26:32 -07:00