Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jądro Linux: Linus bardziej skrupulatny podczas wprowadzania

qwerty67 05 Lip 2010 12:49 1224 1
  • Jądro Linux: Linus bardziej skrupulatny podczas wprowadzania
    Wygląda na to, że w przyszłości Linus Torvalds będzie bardziej zwracał uwagę na to, aby po zakończeniu okresu Merge Window do danej wersji wprowadzane były tylko takie zmiany, które są poprawkami błędów. Fin włączył się też do dyskusji o mechanizmie Suspend Block w Androidzie, komplikując jeszcze bardziej istniejącą sytuację.

    Od lat największe nowości w kolejnej edycji jądra Linux są wprowadzane do kodu głównej gałęzi rozwojowej w ramach tzw. fazy Merge Window, która zazwyczaj trwa dwa tygodnie i kończy się opublikowaniem pierwszej wersji przedwstępnej (2.6.x-rc1) nowego kernela. Po tym czasie do jądra powinny wpływać już tylko łaty, które likwidują znane błędy, bez jednoczesnego wprowadzania nowych funkcji. Jednak w praktyce często okazywało się, że w wersjach RC2 lub RC3 wprowadzano jedną lub kilka większych zmian; niektóre prace porządkowe, np. usuwające ostrzeżenia kompilatora, bywały przeprowadzane jeszcze później.

    Sytuacja taka miała miejsce także w przypadku przygotowywanego obecnie kernela 2.6.35, którego druga wersja przedwstępna zawierała wcale niemałe przeróbki. Już w momencie upublicznienia tej wersji Torvalds oznajmił, że odtąd będzie akceptował tylko te zmiany, które są poprawkami błędów. O tym, jak bardzo poważnie potraktował swoją deklarację, świadczą opublikowane w kolejnych dniach liczne posty na liście LKML, w których Torvalds wyraźnie odrzuca wnioski Git Pull Request i wzywa opiekunów podsystemów do nadsyłania wyłącznie poprawek błędów (m.in. 1, 2, 3, 4, 5, 6, 7, 8, 9); odrzucone zostały nawet niektóre niewielkie i bezpieczne przeróbki porządkujące kod.

    Powodem zaostrzenia procedury był najpewniej wywołany przez niepozorną zmianę, błąd w RC2, w wyniku którego kod podsystemu TTY nadpisywał obszary pamięci wykorzystywane przez inny kod kernela, co z kolei sprawiało, że testerzy obserwowali różne, po części trudno reprodukowalne problemy w różnych obszarach jądra. Drugi powód bardziej restrykcyjnego postępowania jest nieco bardziej prozaiczny: po opublikowaniu wersji RC3 Torvalds wyjechał na urlop i chciał pozostawić testerom możliwie dobrze działającego kernela. Mimo to sytuacja zdaje się nie być jednorazowa, ponieważ w niektórych wiadomościach na liście LKML Fin zaznaczył, że prawdopodobnie także w przyszłości będzie bardziej restrykcyjnie zwracał uwagę na to, aby po zakończeniu fazy Merge Window do głównej gałęzi rozwojowej trafiały wyłącznie poprawki błędów. Najbliższe miesiące pokażą, jak bardzo skrupulatnie Fin będzie przestrzegał własnych wytycznych.
    Status wersji Linuksa

    Najnowszy z publikowanych niemal co tydzień raportów regresyjnych (Regression Reports) autorstwa Rafaela J. Wysockiego wykazuje obecnie 26 błędów w jądrze Linux 2.6.35-rc3, które były obecne jeszcze w 2.6.34. Ponadto aktualny wariant przedwstępny 2.6.35 zawiera jeszcze 28 błędów, które pojawiły się w kodzie w czasie rozwoju kernela 2.6.34.

    Od momentu ukazania się poprzedniego artykułu na temat jądra Linux na łamach heise Open, pojawiła się tylko jedna edycja stabilnego kernela – 2.6.32.15. Zawiera ona jedynie dwie zmiany, które poprawiają błędy bezpośredniej poprzedniczki – jeśli ktoś ją akurat stosuje i nie obserwuje problemów, może zrezygnować z aktualizacji.
    W skrócie
    Kernel

    * Wspomniana już w poprzednim artykule na temat kernela dyskusja wokół rozwijanego przez Google'a na potrzeby systemu Android interfejsu Suspend Block API (wcześniej: Wakelocks) była kontynuowana jeszcze przez kilka kolejnych dni. Ostatecznie włączył się do niej także Linus Torvalds, który skrytykował propozycję rozwiązania problemu zaprezentowaną wcześniej przez Ingo Molnara. W obliczu tej i kilku innych opinii twórcy Linuksa rozwiązanie obecnej sytuacji zdaje się jeszcze bardziej nieprawdopodobne. Być może jednak zanim zostanie znalezione rozwiązanie, które zadowoli wszystkich, do kernela trafi kod zapewniający kompatybilność. Powinno to znacznie ułatwić wprowadzanie do głównej gałęzi rozwojowej sterowników dla Androida opartych na Suspend Block API. Szczegóły tej złożonej problematyki zostały ostatnio podsumowane w kilku artykułach opublikowanych w serwisie LWN.net(1, 2).
    * Christoph Hellwig opublikował majowy przegląd wiadomości na temat XFS, w którym podsumował najnowsze zmiany wokół tego systemu plików.
    * Edward Shishkin, który wcześniej pracował nad systemem Reiser4, a obecnie jest zatrudniony w Red Hacie, znalazł błąd w btrfs występujący przy stosowaniu elementów extentów inline. Stwierdził on, że problem ten może być rozwiązany jedynie przez większe przeprojektowanie systemu plików i w dość ostrych słowach skrytykował kod tego systemu (1, 2). Główny programista btrfs, Chris Mason, nieco spokojniej podszedł do tego zagadnienia. Z kolei inny programista Red Hata, Josef Bacik, który w ubiegłych miesiącach wprowadził do btrfs wiele ulepszeń, nie wypowiedział się do tej pory publicznie na temat krytyki ze strony swojego kolegi.
    * Rozwijane przez programistę systemu Android, Erika Gillinga, łaty zapewniające obsługę wyposażonych w rdzenie ARM układów SoC (System-on-a-Chip) z rodziny Nvidia Tegra, zostały ostatnio wprowadzone do gałęzi linux-next i powinny wejść do oficjalnego kernela w wersji 2.6.36.
    * James Morris opublikował program planowanej na sierpień konferencji Linux Security Summit 2010 i zaprezentował na łamach bloga krótki przegląd najważniejszych punktów imprezy.
    * Nazywany początkowo Compcache, a później określany jako Ramszwap framework do pośredniego kompresowania części pamięci operacyjnej zostanie prawdopodobnie przemianowany na Zram po dokonaniu kilku większych przeróbek w wersji 2.6.36.
    * Valerie Aurora nadal pracuje nad rozwojem mechanizmu typu "union mount", który nadawałby się do wprowadzenia do standardowego kernela (1, 2).
    * Pracownik Della i specjalista od HPC, Jeffrey B. Layton, podsumował w artykule nowości, które pojawiły się w ostatnim roku w obszarze kernela odpowiedzialnym za obsługę pamięci masowych.
    * Twórca podsystemu MD i programu mdadm, Neil Brown, pisze obecnie kod, dzięki któremu mechanizm MD kernela w macierzy RAID 1 będzie lepiej radził sobie z uszkodzonymi sektorami dysku twardego. Ponadto pracuje on też nad łatami, które mają zapewnić możliwość wykorzystywania kodu MD do obsługi RAID5 wraz z Device Mapperem, np. w celu komunikowania się za pomocą mechanizmu dmraid z macierzą Host RAID 5. Mapowanie tego rodzaju do tej pory było możliwe jedynie wtedy, gdy skorzystano ze specjalnych łat, które wprawdzie istnieją już od dawna, ale nigdy nie zostały wprowadzone do oficjalnego jądra.

    Grafika

    * Peter Hutterer wykazywał się w ostatnim czasie sporą aktywnością, publikując między innymi drugie wydanie RC oczekiwanej wkrótce edycji 1.8.2 X serwera. Ponadto wydał on także wersję przedwstępną sterownika do obsługi touchpadów xf86-input-synaptics 1.3.0, która inaczej zachowuje się przy rozpoznawaniu przyspieszenia. Szczegóły na ten temat można znaleźć na łamach blogu autora. Hutterer opublikował tam też ostatnio szczegółowy wpis odnośnie różnych możliwości wyżej wspomnianego sterownika – takich jak np. Edge Scrolling, Two-Finger-Scrolling, Multi-Finger-Tapping czy Circular Scrolling. Z jego bloga można też dowiedzieć się o nowych standardowych wytycznych odnośnie emulacji środkowego przycisku myszy.
    * Keith Packard opublikował pierwsze wydanie przedwstępne planowanego na koniec sierpnia X serwera 1.9. Podobnie, jak w przypadku jądra Linux po zakończeniu okresu Merge Window, teraz także rozwój kolejnego wariantu X serwera przechodzi do fazy stabilizacji. Packard podkreśla, że kolejna wersja X serwera nie wprowadza zbyt wielu nowych funkcji, ale poprawia liczne obecne od dłuższego czasu niedogodności, dzięki czemu kod jest teraz bardziej uporządkowany i łatwiejszy do zrozumienia.
    * AMD opublikował wersję 10.6 znanego jako fglrx lub Catalyst zestawu sterowników graficznych dla Linuksa. Nowe wydanie wprowadza oficjalną obsługę OpenGL 4.0 w kartach graficznych z serii Radeon HD 5000 i OpenGL 3.3 w starszych kartach Radeon HD. Nowa architektura mechanizmu akceleracji 2D ma poprawić wydajność przetwarzania dwuwymiarowego i przyspieszyć operacje zmieniany wielkości okna. Grono w pełni obsługiwanych systemów operacyjnych powiększyło się o Red Hat Enterprise Linux 5.5. Dalsze szczegóły na temat zmian znajdują się w dokumencie Release NotesPDF.
    * Nowa wersja przewodnika R5xx 3D programming guidePDF zawiera w niektórych obszarach więcej szczegółów od poprzedniego wydania dokumentu.
    * Twórcy biblioteki Mesa wydali zaktualizowaną wersję Mesa 3D 7.8.2. Tuż przed tym wydarzeniem programista Intela Eric Anholt opublikował bibliotekę libdrm 2.4.21.
    * Wraz z wydaniem zaklasyfikowanej jako Release Candidate edycji 256.35 ku końcowi zmierza główna faza rozwojowa sterowników graficznych Nvidii z serii 256.
    * Intel opublikował pierwsze wydanie Release Candidate sterownika graficznego X.org intel 2.12. Ogłoszenie o wydaniu podkreśla liczne poprawki wydajnościowe, które mają mieć m.in. pozytywny wpływ na prędkość przewijania stron w Firefoksie.

    Narzędzia systemowe i programistyczne, sterowniki

    * Intel zamierza zrezygnować z utrzymywania sterowników WLAN ipw2x00; deklaracja ta wywołała krytykę wśród programistów kernela, m.in. Davida Millera, ponieważ firma nie opublikowała dokumentacji na temat układów WLAN obsługiwanych przez te sterowniki, co znacznie utrudnia dalsze utrzymywanie tych driverów.
    * Karel Zak wydał dwie wersje przedwstępne pakietu util-linux-ng 2.18 i wymienił liczne nowości w ogłoszeniu (1, 2). W tym używanym we wszystkich najważniejszych dystrybucjach Linuksa zbiorze narzędzi pojawiły się nowe programy, takie jak findmnt, fsfreeze i swaplabel, a także biblioteka libmount; usunięto z kolei polecenia ramsize, rdev, rootflags i vidmode.
    * Lennart Poettering opublikował slajdyPDF z własnymi prezentacjami na temat programów Initrd i systemd (alternatywa dla Upstartu) wygłoszonych podczas konferencji LinuxTag.
    * Programista Gnome John (J5) Palmieri informuje w blogu o postępach w pracach nad obsługą wielodotykowości w X.org i pakiecie narzędzi dla GTK.
    * Jon Masters opublikował zestaw narzędzi module-init-tools w wersji 3.12. Szczegóły na temat wydania znajdziemy na stronie wiki projektu. Wprowadzone narzędzie softdeps powinno poprawić obsługę niejawnych zależności przez modprobe; ponadto nowa wersja obsługuje wprowadzony w kernelu 2.6.35 mechanizm Devnames, dzięki któremu udev może automatycznie ładować niektóre moduły przy próbie dostępu aplikacji do węzłów urządzeń.
    * Już na początku czerwca Kay Sievers wydał wariant udev 157, który zawiera głównie poprawki błędów.

    Fajne! Ranking DIY
  • Computer Controls
  • #2
    swiftgeek
    Poziom 12  
    Źródło copy&paste: heise online