Optimering av x86 CPU-topologikod för förbättrad prestanda

Den kommande versionen av Linux 6.9 lovar betydande förbättringar och spännande nya funktioner, inklusive en genomgripande översyn av x86 CPU-topologikoden. Den senaste sammanfogningen av denna kod syftar till att rensa upp en rörig situation och förbättra den övergripande prestandan. Uppdateringen av topologikoden har nu anpassats för moderna Intel Core hybrid-system som består av en blandning av P- och HT-fria E-kärnor.

I en stor omarbetning sammanslogs ”x86/apic”-ändringarna från TIP.git förra veckan. Denna uppdatering hanterar flera brister i den nuvarande implementationen, enligt Thomas Gleixner i förfrågan om att dra in dessa ändringar.

Ett av de primära problemen med den tidigare koden var dess oförmåga att hantera hybrid-system korrekt. Registreringskoden för APIC, ansvarig för tilldelningen av CPU-nummer, var sammanflätad med själva APIC-koden och var skild från topologivärderingen, vilket ledde till förvirring. Dessutom skulle olika mekanismer som numrerade APICs, såsom ACPI, MPPARSE och gästspecifika mekanismer, manipulera globala variabler utan ordentlig organisation. Dessutom var topologievalueringskoden för CPUID utspridd i leverantörens kod, vilket resulterade i omvärdering av globala variabler vid varje hotplug-operation.

En annan begränsning var avsaknaden av möjligheten att analysera topologin på start-CPU:n innan AP:erna startades. Detta skapade problem för infrastruktur som PERF, som krävde att vissa aspekter skulle dimensioneras på förhand eller hade kunnat förenklas om en sådan analys var möjlig. Dessutom var APIC-admissions- och CPU-nr-associationslogiken förbluffande komplex och fortsatte att existera även efter starten istället för att slutföras under APIC-uppräkningen.

Med denna betydande uppdatering har dessa brister noggrant hanterats. Den omfattande omarbetningen består av 76 patchar och koden har noga testats för att minimera eventuella potentiella problem.

## Vanliga frågor

### Vad är syftet med x86 CPU-topologikoden?
X86 CPU-topologikoden fastställer relationen mellan olika CPU-kärnor i ett system. Den hjälper operativsystemet att förstå interkonnektiviteten och hierarkiska strukturen hos CPU:er, vilket möjliggör effektiv belastningsbalansering och resursallokering.

### Varför är det viktigt att uppdatera x86-topologikoden?
Att uppdatera x86-topologikoden är avgörande för att säkerställa kompatibilitet med moderna maskinvaruarkitekturer och för att optimera systemets prestanda. Genom att åtgärda bristerna i den tidigare implementationen möjliggör den uppdaterade koden korrekt hantering av hybrid-system och jämnare analys av CPU-topologi, vilket leder till förbättrad effektivitet.

### När kan vi förvänta oss att Linux 6.9 släpps?
Linux 6.9 förväntas släppas under mitten av året som en stabil version. Den kommer att introducera en mängd nya funktioner och förbättringar, inklusive den omarbetade x86 CPU-topologikoden.

## Nyckelbegrepp
– x86 CPU-topologikod: Koden som fastställer relationen och hierarki hos CPU-kärnor i ett system.
– Hybrid-system: System som består av en blandning av olika CPU-kärnor, såsom en kombination av P- och HT-fria E-kärnor.
– APIC: Advanced Programmable Interrupt Controller, en chip på x86-baserade system som hanterar och distribuerar avbrottsförfrågningar.

Relaterade länkar:
– [Linux.org](https://linux.org)
– [Intel.com](https://intel.com)

The source of the article is from the blog scimag.news

Privacy policy
Contact