Multi-core network packet steering: Difference between revisions

Content deleted Content added
FrancioT (talk | contribs)
correction for clarity
InkySka (talk | contribs)
m Minor rephrasing
Line 46:
 
=== XPS (in transmission) ===
Transmit Packet Steering (XPS) differentlyis froma alltransmission protocol, as opposed to the prevoiusothers protocolsthat exposed,have isbeen usedmentioned inso transmissionfar. When packets need to be loaded on one of the transmission queues exposed by the NIC, there are again many possible optimization that could be done.<ref>{{Cite web|title=XPS linux news (LWM)|url=https://lwn.net/Articles/412062/|access-date=2025-07-08|website=lwn.net|publisher=Linux Weekly News|language=en-US}}</ref><br>
For instance if multiple transmission queues are assigned to a single core, an hash function could be used to load balance outgoing packets across the queues (similarly to how RPS does in reception).
Moreover in order to improve cache locality and hit-rate (similarly to how RFS does), XPS ensures that applications producing the outgoing traffic and running in ''core i'' will favor the transmitting queues associated with the same ''core i''. This reduces the inter-core communication and cache coherency protocols overheads, resulting in better performances in heavy load environments.<ref>{{Cite web|title=XPS intel overview|url=https://www.intel.com/content/www/us/en/docs/programmable/683517/21-4/transmit-packet-steering-xps.html|access-date=2025-07-08|website=intel.com|publisher=Intel corp|language=en-US}}</ref><ref>{{Cite web|title=XPS kernel linux docs|url=https://www.kernel.org/doc/html/v5.1/networking/scaling.html#xps-transmit-packet-steering|access-date=2025-07-08|website=kernel.org|publisher=The Linux Kernel documentation|language=en-US}}</ref><ref name="General intro" />