Jądro Linux 3.8

Jądro Linux 3.8

przez -
38 1182
Linux Tux

Linus Torvalds ogłosił wydanie jądra Linux 3.8, które jest aktualizacją dla wydanego jądra Linux 3.7. Linux 3.8 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.

Systemy plików

F2FS, czyli Flash-Friendly File-System

Dodano F2FS, czyli Flash-Friendly File-System. Jest to nowy systemów plików, zaprojektowany dla pamięci masowych, takich jak dyski SSD, pamięci eMMC i kart SD. Posiada strukturę logów, która świetnie adaptuje się na pamięciach masowych NAND, które posiadają inne właściwości, aniżeli tradycyjne dyski.

Btrfs

Btrfs otrzymał funkcję zastąp, która przenosi dane z jednego dysku na inny, w bardzo krótkim czasie. Zmniejszono opóźnienia i wykorzystanie procesora, podczas wywoływania fsync czy zapisu danych poprzez O_DIRECT. Udoskonalono wykorzystanie wielordzeniowych procesorów, podczas większego obciążenia, co zwiększa wydajność wielu operacji.

Ext4

Dodano nową funkcję Inline Data Support, która pozwala przechowywać pliki posiadające jedynie kilka bajtów, w jednym miejscu z węzłem, aby zaoszczędzić miejsce i zwiększyć szybkość dostępu. Pojawiło się wsparcie dla opcji lseek: SEEK_DATA i SEEK_HOLE, które zostały dodane w jądrze Linux 3.1. Pozwalają one programom takim jak kopia zapasowa, czy kopiowanie na wykrycie i ominięcie pustych przestrzeni, w porozrzucanych plikach.

Tmpfs, XFS i NFS

Tmpfs posiada obsługę opcji lseek: SEEK_DATA i SEEK_HOLE. XFS otrzymał funkcje wykrywania uszkodzonych metadanych, spowodowane błędami odczytu lub zapisu. Zmiany w NFS pozwalają klientom i serwerom na koordynowanie wielkości pamięci podręcznej.

Pamięć masowa

Biblioteka RAID6 obsługuje instrukcje AVX2 – Advanced Vector Extension 2, które będą niedługo dostępne w procesorach Intel Haswell.

Dodano sterownik urządzenia mpt3sas – LSI MPT Fusion SAS 3.0, który wspiera 12 GB chipy SAS, poprzez LSI. Dzieli część funkcji ze sterownikiem mpt2sas. Sterownik hptiop potrafi obsługiwać kontrolery HighPoint RR4520 i RR4522.

Na urządzeniach z MBR, partycja root może zostać zdefiniowana, poprzez wpisanie zwrotu: root=PARTUUID=0002dd75-01. Jądro Linux będzie wtedy szukało urządzenia, które posiada 32 bitowy UUID 0002:dd75 (często znany, jako sygnatura dysku NT) i będzie próbowało montować jego pierwszą partycję, jak urządzenie root.

Kod jądra DRBD osiągnął poziom DRBD 8.4.2. Jednakże deweloperzy DRBR zostali skrytykowania przez opiekunów podsystemu bloków, za zrobienie tak kompleksowych zmian, zamiast powoli udoskonalać kod. Powiedziano, że w przyszłości nie będzie tolerowane takie zachowanie.

Infrastruktura

Zasoby

W memory cgroup controller dodano rozszerzenie kmem. Ogranicza ilość pamięci, jaką potrzebuje jądro do zarządzania procesami, co w efekcie (jeśli poprawnie skonfigurowane) może zapobiec przeładowaniu procesami (ang. fork bomb), nawet w LXC (linux containers).

Dodano balancenuma, czyli szereg udoskonaleń, które mają automatycznie zarządzać spójnością jednego procesu, pomiędzy procesorem, a pamięcią. Ma to być szczególnie pomocny przy systemach wieloprocesorowych.

Procesory

Narzędzie diagnostyczne Turbostat potrafi wyliczyć, ile Watów jest pobierane, poprzez wbudowaną w procesor kartę graficzną i same rdzenie, a także ile jest łącznie. Usunięto architekturę i386 z jądra Linux.

Pojawiła się wstępna implementacja technologii hotplug, która pozwala zmieniać sprzęt na uruchomionym systemie. Aktualnie możliwe jest włączenie i wyłączenie procesorów Intela.

Dodano optymalizacje AVX – Advanced Vector Extensions, które to rozkazy możemy znaleźć w nowszych procesorach AMD i Intel. Szczególnie warto wymienić tutaj algorytmy kryptograficzne: CAST5, CAST6, Serpent, Twofish oraz szyfr blokowy Camellia (Camellia cipher).

Pojawiło się więcej ulepszeń 64 bitowej architektury ARM.

ACPI

Udoskonalono wsparcie zarządzania energią ACPI, w tym używanie owej technologii przez urządzenia nie posiadające szyny PCI.

UEFI

Nowe zmienne systemu plików UEFI – efivars, potrafią czytać i ustawiać zmienne EFI, większe niż 1 kB. Fedora 18 posiada już ten system plików, który jest montowany w /sys/firmware/efi/efivars/, co pozwala wymieniać dane ze wsparciem MOK w Shim Secure Boot.

Sterowniki

Nouveau

Sterowniki Nouveau będą posiadały wszystko, co zapewnia sterownik OpenGL, czyli akcelerację 3D na wszystkich chipach graficznych GeForce, bez potrzeby dodatkowej konfiguracji.

Tegra

Dostępne będą proste sterowniki do obsługi chipów Tegra 2 i Tegra 3.

Radeon

Nowy sterownik pozwala na użycie większej części silnika DMA.

Intel

Sterownik i915 wspiera w pełni IGP, dostępne w procesorach Haswell, które zostaną przedstawione pod nazwą Core i4000. Poprawiono kilka błędów w chipsetach Intel 830 i 845.

Sieć

Sterownik sieciowy virtio_net, który jest używany do parawirtualizacji i z KVM, Xen, powinien zapewniać większą wydajność, dzięki użyciu wielu zapytań dla każdego urządzenia sieciowego. Podobną funkcję otrzymał sterowniki Tun/Tap, który jest używany przy wirtualizacji systemów, jak i przy emulowaniu sprzętu sieciowego.

batman-adv (Better Approach To Mobile Ad-Hoc Networking Advanced ), czyli implementacja sieci kratowej (mesh network), który jest częścią open-mesh.org, potrafi budować DAT – Distributed ARP Table.

Dodano sterownik rtl8723ae, dla chipu Realtek RTL8723AE PCIe WLAN, sterownik wil6210 dla chipu Wilocity WLAN. Oba operują w paśmie 60 GHz w standardzie IEEE 802.11ad, który jest promowany przez Wireless Gigabit Alliance (WiGig).

Pojawił się sterownik ar5523 dla chipsetu USB Atheros. Dodano wsparcie dla chipu Broadcom BCM43224 WLAN, a sterownik RaLink rt2800usb wspiera adapter sieciowy na USB – Sweex LW323 WLAN.

Dodano sterowniki cdc-mbim, który wspiera szerokopasmowe modemy i implementuje Mobile Broadband Interface Model 1.0.

Dźwięk

Dodano sterowniki wspierające:

  • karty dźwiękowe: Philips PSC724 Ultimate Edge, Digidesign Mbox 2 USB, Xonas DSX
  • kodeki dźwięku: VIA VT1705CF, Conexant CX20755/20756/20757, ALC284, VT1808

HID

Dodano sterownik dla HID – human interface devices, który używa I2C. Dodano rozszerzenia do sterownika HID multitouch, aby wspierać część gestów z Windows 8.

Video4Linux 2

Sterownik Video4Linux 2 (V4L2) może używać DMA Buffer Sharing Mechanism (dma_buf), który został dodany w jądrze Linux 3.3. Pozwala to dzielić przestrzeń bufora z kartami graficznymi, co umożliwia bezpośrednie wyświetlanie obrazu przez kartę graficzną, bez konieczności duplikowania danych w buforze.