The Virtual Accelerator Switchboard (VAS) subsystem in the POWER9 processor provides a low latency Core-to-core wakeup" mechanism which allows a thread on one core the processor to efficiently send a message to a thread waiting on another core.
This Fast thread-wakeup (FTW) driver provides user space applications an interface to the Core-to-core wakeup mechanism. The FTW driver uses the "external" interfaces provided by the VAS driver to interact with the VAS hardware. PATCH 5/5 documents the API. The ftw-next branch on my github has some initial test cases for the driver: https://github.com/sukadev/linux/tree/ftw-next Thanks to input from Ben Herrenschmidt, Michael Ellerman, Michael Neuling and Robert Blackmore. Sukadev Bhattiprolu (5): powerpc/vas: Remove a stray line in Makefile powerpc/ftw: Define FTW_SETUP ioctl API powerpc/ftw: Implement a simple FTW driver powerpc/ftw: Add a couple of trace points powerpc/ftw: Document FTW API/usage Documentation/powerpc/ftw-api.txt | 283 +++++++++++++++++++++++++ MAINTAINERS | 8 + arch/powerpc/platforms/powernv/Makefile | 1 - drivers/misc/Kconfig | 1 + drivers/misc/Makefile | 1 + drivers/misc/ftw/Kconfig | 16 ++ drivers/misc/ftw/Makefile | 4 + drivers/misc/ftw/ftw-trace.h | 75 +++++++ drivers/misc/ftw/ftw.c | 352 ++++++++++++++++++++++++++++++++ include/uapi/misc/ftw.h | 31 +++ 10 files changed, 771 insertions(+), 1 deletion(-) create mode 100644 Documentation/powerpc/ftw-api.txt create mode 100644 drivers/misc/ftw/Kconfig create mode 100644 drivers/misc/ftw/Makefile create mode 100644 drivers/misc/ftw/ftw-trace.h create mode 100644 drivers/misc/ftw/ftw.c create mode 100644 include/uapi/misc/ftw.h -- 2.7.4