-
Notifications
You must be signed in to change notification settings - Fork 521
-
When an SQPOLL worker copies data to or from userspace, all of the cache traffic is wasted:
- copying from user: the data is on the application core, and should remain there; and in fact it might be cold by the time we process it
- copying to kernel: the data will be consumed by the NIC, so copying it to the worker's cache is wasteful
- copying from kernel: the data was placed by the NIC in memory, or in some random LLC, it will not be used by the kernel
- copying to user: the data will be used, but not by the core that's doing the copying, and only when the application gets around to processing it
It's likely that performance can be improved by switching to non-temporal/streaming loads and stores when SQPOLL is in use. When SQPOLL is not in use (or even without io_uring), some of these copies would benefit from non-temporal data movement, but others not.
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment