linux/include
Linus Torvalds c5e7a7ea22 swait: strengthen language to discourage use
We already earlier discouraged people from using this interface in
commit 88796e7e5c ("sched/swait: Document it clearly that the swait
facilities are special and shouldn't be used"), but I just got a pull
request with a new broken user.

So make the comment *really* clear.

The swait interfaces are bad, and should not be used unless you have
some *very* strong reasons that include tons of hard performance numbers
on just why you want to use them, and you show that you actually
understand that they aren't at all like the normal wait/wakeup
interfaces.

So far, every single user has been suspect.  The main user is KVM, which
is completely pointless (there is only ever one waiter, which avoids the
interface subtleties, but also means that having a queue instead of a
pointer is counter-productive and certainly not an "optimization").

So make the comments much stronger.

Not that anybody likely reads them anyway, but there's always some
slight hope that it will cause somebody to think twice.

I'd like to remove this interface entirely, but there is the theoretical
possibility that it's actually the right thing to use in some situation,
most likely some deep RT use.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-04 12:01:15 -07:00
..
acpi
asm-generic dma-mapping: provide a generic dma-noncoherent implementation 2018-05-19 08:46:12 +02:00
clocksource
crypto
drm drm/bridge/synopsys: dw-hdmi: fix dw_hdmi_setup_rx_sense 2018-05-30 13:42:39 -04:00
dt-bindings
keys
kvm KVM: arm/arm64: vgic: Fix source vcpu issues for GICv2 SGI 2018-04-27 12:39:09 +01:00
linux swait: strengthen language to discourage use 2018-06-04 12:01:15 -07:00
math-emu
media MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
memory
misc
net Merge branch 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2018-06-04 10:00:01 -07:00
pcmcia
ras
rdma IB/uverbs: Fix uverbs_attr_get_obj 2018-05-23 15:25:53 -06:00
scsi block: rename BLK_EH_NOT_HANDLED to BLK_EH_DONE 2018-05-29 08:59:21 -06:00
soc
sound ALSA: control: Hardening for potential Spectre v1 2018-04-25 10:37:46 +02:00
target
trace sched, tracing: Fix trace_sched_pi_setprio() for deboosting 2018-05-25 08:04:01 +02:00
uapi bpf: fix uapi hole for 32 bit compat applications 2018-06-01 20:41:35 -07:00
video
xen