Jądro Linux 3.5

Jądro Linux 3.5

przez -
13 626
Linux Tux

Linus Torvalds ogłosił wydanie jądra Linux 3.5, które jest aktualizacją dla wydanego jądra Linux 3.4. Z powodu wykrytych problemów, Linus zdecydował się wydać jedynie pięć wersji kandydujących, Nowa wersja przynosi jak zwykle wiele zmian, a w szczególności aktualizację sterowników, poszerzoną listę obsługiwanego sprzętu, usprawnienia wielu komponentów jądra i systemu plików, a także zmiany w sieciach.

Sieci

Active Queue Management

Dodano menadżera pakietów Controlled Delay Active Queue Management (AQM), który bazuje na mechanizmie Codel. Ma on za zadanie zniwelować zjawisko nadmiernego użycia stosu (bufferbloat) w różnych urządzeniach sieciowych, co powodowało duże opóźnienia w sieci.

Early Retransmit

Do stosu TCP dodano funkcjonalność Early Retransmit (ER), która potrafi przyspieszyć odtwarzanie utraconego połączenia, kiedy zostały zagubione pakiety. Została ona opisana w dokumencie RFC 5827 i według pierwszych testów redukowała opóźnienie o 8.5%.

Sterowniki

Dodano sterownik E1000e, który wspiera i217 PHY i współpracuje z intelowskim Lynx Point Platform Controller Hub. Sterownik Realtek R8169 dla chipów Gigabit Ethernet potrafi się komunikować z chipami RTL8402 i RTL8411, natomiast sterownik Mwifiex Wi-Fi potrafi zaadresować chip USB Marvell USB8797.

Near Field Communication

Kod NFC wspiera komponenty NFC, które wspierają Host Controller Interface (HCI).

System plików i przechowywanie danych

FireWire Target Disk Mode

Nowy moduł FireWire SBP-2, we współpracy z oprogramowaniem Linux-Iscsi.org (LIO), potrafi udostępnić lokalne urządzenia dyskowe poprzez FireWire. Dzięki temu inne systemy mogą podmontować te urządzenia, jako zwykłą pamięć masową FireWire. Wiele systemów Apple oferuje domyślny tryb dyskowy FireWire (FireWire Target Disk Mode).

Btrfs

System plików Btrfs potrafi zbierać dane o błędów, pozwalając wykryć nieznane wcześniej nośniki danych i zastąpić je, jeżeli potrzeba.

Ext4

System plików Ext4 otrzymał sprawdzanie sum kontrolnych CRC32 do wielu części swoich metadanych. Jeżeli zostanie wykryta nieprawidłowość, jądro odmówi zamontowania systemu plików, aby uniknąć przypadkowego uszkodzenia danych użytkownika. Jeżeli nieprawidłowość zostanie wykryta podczas operacji, jądro może zamontować system plików z opcją tylko do odczytu.

FUSE

FUSE oferuje teraz funkcję punch hole, która jest uruchamiana poprzez polecenie fallocate. Pozwala ona programom na informowanie pewnych obszarów systemu plików z plikami, że nie ma tam żadnych danych.

CIFS

Dodano podstawowe wsparcie dla protokołu SMB2 (Server Message Block 2), który został udostępniony w systemie Windows Vista. Jednakże wsparcie jest aktualnie niekompletne i oznaczone, jako niedziałające.

RAID

Oprogramowanie MD, które zarządza macierzami RAID, potrafi używać instrukcji AVX, dostępnych w najnowszych procesorach. Dzięki temu można wykonywać operacje XOR, które są wykorzystywane w RAID 5. Duże korzyści ze zmienionego kodu MD uzyskał tryb RAID 10, w którym liczba urządzeń magazynowych może być modyfikowana.

Architektura

ARM

Prace nad kodem ARM trwają już od ponad roku i przynoszą obiecywane efekty. Aktualnie, aby platforma ARM otrzymała wsparcie Linuksa, wystarczy po prostu dodać odpowiednie drzewo plików urządzenia, które jest całkowicie niezależne od kodu źródłowego jądra.

KVM

W KVM dodano nowe API do wstrzykiwania wiadomości Message Signalled Interrupt (MSI) bezpośrednio na system gościa.

EFI

Pojawiła się dokumentacja wyjaśniająca użycie EFI boot stub, które pozwala oprogramowaniu EFI na bezpośrednie uruchamianie jądra. Funkcja ta została dodana do jądra Linux 3.3 i jest używana przez ostatnio wydany bootloader Gummibot.

Sterowniki

nVidia

Sterownik Nouveau potrafi wykorzystywać akcelerację sprzętową na rdzeniach Kepler. Wymaga to jednak binarnego pliku sterownika nVidia, który musi zostać rozpakowany.

AMD

Sterownik graficzny Radeon otrzymał kilka zmian w sposobie przechowywania danych na pamięciach wideo, dzięki czemu wzrosła wydajność w grach 3 krotnie. Tyczy się to kart graficznych od R600 – Radeon HD 2400 do R900 – Radeon HD 7670.

Udoskonalono także wsparcie dla dźwięku przesyłanego poprzez HDMI na kartach Northern Islands (wiele Radeonów HD 6000). Nadal wymaga to jednak podania parametru audio, podczas uruchamiania sterownika radeon w jądrze.

Intel

Dodano informację o używaniu funkcji oszczędzania energii karty graficznej Intel RC6 do sysfs. Dodatkowo zaimplementowano sporo kodu adresacji rdzenia graficznego procesorów Intel Haswell.

Inne

Pojawiły się podstawowe sterowniki dla chipów graficznych AST 2000 (ASpeed technologies), Matrox G200 oraz emulowanych w QEMU rdzeni graficznych Cirrus. Warto wspomnieć, że dwa ostatnie chipsety były mocno używane w serwerach ostatnimi czasy, a brak wsparcia dla akceleracji w obecnych sterownikach był lekko denerwujący.

Hybrydowe karty graficzne

Sterownik vga-switcheroo, jest odpowiedzialny za przełączanie lub uaktywniane drugiego chipa graficznego. Otrzymał możliwość podłączenia się do systemu dźwięku, po czym może uruchomić lub wyłączyć przesyłanie audio poprzez wyjście HDMI, do kart graficznych posiadających tryb hot-plug.

Sterowniki graficzne Samsung Exynos, Intel i915, Nouveau, xf86-video-ati i udl (USB Display Link) otrzymały wsparcie frameworka prime. Został on stworzony, w celu ulepszenia wsparcia dla hybrydowych kart graficznych i może używać DMA sharing.

Warto wspomnieć, że X.Org Server 1.13 będzie posiadał wsparcie prime, dzięki czemu osoby posiadające hybrydowe karty graficzne powinny mieć ułatwione wykorzystanie ich potencjału.

Dźwięk

Linux 3.5 otrzymało wsparcie karty dźwiękowej Asus Xonar DGX oraz funkcji Creative SoundCore3D. Przepisano także cały układ strumieniowania dla wsparcia dźwięku poprzez USB.

Staging

Pojawił się sterownik do obsługi chipów GCT GDM72xx WiMAX oraz sterowniki dla Management Engine Interface (MEI), które są używane na płytach głównych z chipsetami Intela. Dodano także najważniejsze funkcje wspierające szyny systemowe używane w wielu aplikacjach przemysłowych – Industrial I/O (IIO). Komunikują się one z sensorami napięcia, temperatury i światła, a także akcelerometrami.

Infrastruktura

Technologie Androida

Dodano funkcję przełączania, która monitoruje połączenia, pod nazwą external connector class. Prócz tego zintegrowano automatyczne usypianie i kilka powiązanych rozszerzeń. Pozwala to urządzeniom na przechodzenie w tryb nieaktywności, jeżeli nie jest nic wykonywane w pewnym okresie czasu.