文章目录[隐藏]
uintr come with Sapphire Rapids,(RISCV introduce N extension at 2019) meaning no context switches compared with signal, providing lowest IPC Latency. Using APIC will incur safety concern.
uintr usage
- general purpose IPC
- userspace scheduler(This paper)
- userspace network
- libevent & liburing
syscall addication(eventfd like) sender initiate and notify the event and receiver get the fd call into kernel and senduipi back to sender.
They wrote a lightweight runtime for libpreemptible.
- enable lightweight and fine grained preemption
- Separation of mechanism and policy
- Scability
- Compatibility
They maintained a fine-grained(3us) and dynamic timers for scheduling rather than kernel timers. It can greatly improve the 99% tail latency. Normal design of SPR's hw feature.