本文将mark下Intel的FRED(Flexible Return and Event Delivery) feature。

FRED has the capability of helping system performance and response time.

Intel engineers summed up FRED as:

The Intel flexible return and event delivery (FRED) architecture defines simple new transitions that change privilege level (ring transitions). The FRED architecture was designed with the following goals:
1) Improve overall performance and response time by replacing event delivery through the interrupt descriptor table (IDT event delivery) and event return by
the IRET instruction with lower latency transitions.
2) Improve software robustness by ensuring that event delivery establishes the full supervisor context and that event return establishes the full user context.

The new transitions defined by the FRED architecture are FRED event delivery and, for returning from events, two FRED return instructions. FRED event delivery can effect a transition from ring 3 to ring 0, but it is used also to deliver events incident to ring 0(ring0 -> ring0之间也可以用FRED). One FRED instruction (ERETU) effects a return from ring 0 to ring 3, while the other (ERETS) returns while remaining in ring 0.

In addition to these transitions, the FRED architecture defines a new instruction (LKGS) for managing the state of the GS segment register. The LKGS instruction can be used by 64-bit operating systems that do not use the new FRED transitions.

Simply put, FRED is basically about lower-latency transitions between CPU privilege levels.

点到为止,按需再细看吧。


参考资料:

  1. Intel Sends Out Initial Linux Kernel Patches For FRED
  2. FRED spec
  3. RFC patch
  4. Intel and AMD Contemplate Different Replacements for x86 Interrupt Handling
  5. Linus Torvalds on how AMD and Intel are changing how processor interrupts are handled