בלינוקס 6.8, תיקונים שמאיצים TCP כבר יושמו

Tux, הקמע של ליבת לינוקס

ליבת לינוקס היא עמוד השדרה של מערכות ההפעלה לינוקס (OS), והיא הממשק הבסיסי בין החומרה של המחשב לתהליכים שלו.

גרסת הקרנל של לינוקס 6.7 שוחררה רק לפני מספר שבועות (בתחילת ינואר) ומאז העבודה על פיתוח לינוקס 6.8 הושקה וכרגע הוא כבר ב-CR השני שלו ו עד כה הוא ראה מגוון שיפורים בתחומים שונים, עם התמקדות ברשתות, פרוטוקולי ליבה, BPF, ממשקי API של מנהלי התקנים, תמיכה בחומרה חדשה ועדכוני מנהלי התקנים.

Y בין השינויים החשובים ביותר שנודע, אחד מהם בולט וזהו השיפורים המונעים על ידי מחסנית ה-TCP יושמו, כמו מביא לשיפור ניכר בביצועים, במיוחד בתרחישים הכוללים מספר חיבורי TCP מקבילים. שיפורים אלו הובילו להאצה שיכולה להגיע עד 40%.

La אופטימיזציה התמקדה בארגון מחדש של השדות בתוך מבני ערימת רשת כגון socks, netdev, netns ו-mibs. התאמות אלו, אשר יושמו מסיבות היסטוריות, אפשרו יעילות טובה יותר בניהול המטמון של המעבד. בפרט, השימוש בקווי מטמון במהלך העברת נתונים צומצם והגישה למשתנים רלוונטיים עברה אופטימיזציה.

נכון לעכשיו, מבנים עם משתנים רבים בערימת הרשת מאורגנים בצורה כרונולוגית, לוגית ולעיתים לפי גישה לקו המטמון.

סדרת תיקונים זו מנסה לארגן מחדש את מחסנית הליבה ברשת כדי למזער את צריכת קו המטמון במהלך שלב העברת הנתונים. באופן ספציפי, אנו מסתכלים על מחסנית ה-TCP/IP והמהירות ב-TCP.

כתוצאה מביקורות אלו, נצפתה עלייה משמעותית במהירות ה-TCP, במיוחד כשמדובר בטיפול במספר רב של חיבורי TCP בו זמנית. שיפור זה בולט במיוחד בסביבות שבהן פעילות הרשת אינטנסיבית וניהול יעיל של חיבורי TCP הוא חיוני.

של שינויים ושיפורים נוספיםהאיחוד האירופי בולט:

  • נוספה התבוננות פנימית מבוססת Netlink כדי לחשוף סטטיסטיקות שימוש בזיכרון ומיחזור.
  • שינוי טיפול SYN-Cookie TCP עבור תאימות eBPF עתידית.
  • תקורה מופחתת של ניתוח כותרת הרחבה ב-GRO.
  • מארגן מחדש את החברים של מבנה ה-nftables כדי לשמור על הנתונים שאליהם גישה נתיב נתונים בהתחלה.
  • הוצגה תמיכה במחיקה בכמות גדולה של ערכי גשר MDB וניטור של יציאות TC חסימות.
  • שיפורים ב-Verifier, כולל רישום BPF מגביל את הלוגיקה, שיפורים ברישום, ותמיכה בארגומנטים גלובליים של יישומון משתמש BPF.
  • הטמעה ראשונית של מטא נתונים של TX עבור AF_XDP עם תמיכה במנהלי התקנים של mlx5 ו-stmmac.
  • תיקנו באגים של kCFI בכל צורות קריאות BPF עקיפות.
  • תמיכה באפשרויות uid/gid בעת הרכבת bpffs והרחבות נוספות למאמת.
  • יצירה אוטומטית של תיעוד משפחת Netlink ממפרטי YAML ותיקונים נוספים לתיאורי המודולים.
  • מניעת שחרור שגוי של דפים השייכים למאגר דפים.
  • הפשטות ב-Rust עבור מנהלי התקנים של PHY ברשת והכנסת תמיכת תור ו-NAPI בממשק Netlink של netdev.
  • סינון התראות עבור devlink ושיפורים באימות PHY.
  • חשיפת ערך קיזוז התדר השבר והמרת מטפלים ישנים להתקשרות חוזרת להסרת פלטפורמה שחוזרת לבטלה.
  • נוספה תמיכה בקריאה/כתיבה של מנות PHY MMD.
  • נוספה תמיכה עבור התקני Ethernet שונים, כולל התקני Octeon CN10K, Broadcom 5760X P7, Qualcomm SM8550 SoC ו-Texas Instrument DP83TG720S PHY.
  • היכרות עם רדיו IMC Networks Bluetooth.
  • שדרוגים עבור NICs מהירים, NICs משובצים, מתגי מרכז נתונים, מתגים משובצים ו-Ethernet PHYs.
  • תמיכה בשיפורים ותוספות עבור בקרי WiFi ובלוטות' שונים.
  • הסרה של מנהלי התקנים WiFi שונים כולל libertas, Atmel at76c50x, HostAP, zd1201, Orinoco, Aviator/Raytheon, Planet WL3501 ו-USB 802.11b RNDIS.

סוף סוף אם אתה מעוניין לדעת יותר על זה, אתה יכול לבדוק את פרטים בקישור הבא.