Jak uzyskać tę magiczną poprawkę 200 linii?


Odpowiedzi:


59

Dyskusje dotyczące tej konkretnej poprawki odbyły się na liście mailingowej zespołu jądra Ubuntu:

https://lists.ubuntu.com/archives/kernel-team/2010-November/013498.html

Pozwólcie jednak, że spróbuję bardziej szczegółowo opracować najlepszy sposób, w jaki łatka może dostać się do jądra Ubuntu ...

Po pierwsze, preferowaną polityką zespołu jądra Ubuntu jest przesyłanie i akceptowanie łatek przed pobraniem ich do jądra Ubuntu. Utrzymanie zespołu łatek drzewa jest dużym obciążeniem dla zespołu jądra Ubuntu. Dodatkowo, jeśli łatka przyniesie korzyść całej społeczności jądra, powinna najpierw przejść w górę.

Po zaakceptowaniu łatki w górę, w końcu automatycznie przejdzie ona do jądra Ubuntu. Żądanie pobrania lub ściągnięcia może być również wykonane, jeśli jest to pożądane, zobacz stronę KernelPatches , aby uzyskać więcej informacji.

Jeśli łatka musi być zastosowana jako SRU ( aktualizacja stabilnego wydania ) do poprzedniej wersji Ubuntu, najlepiej jest zaakceptować łatkę w odpowiednim, stabilnym wcześniejszym drzewie 2.6.xy. W ramach naszego normalnego procesu SRU jądra nieustannie bazujemy na najnowszym stabilnym jądrze. W ten sposób ponownie otrzymamy łatkę automatycznie.


4
Ta poprawka prawdopodobnie znajduje się w jądrze v2.6.38, co oznaczałoby, że prawdopodobnie będzie w wersji Natty. Dowiemy się lepiej, gdy łatka pojawi się na drzewie Linusa.
Andy,

1
@Andy: Aktualizacja - dobra wiadomość: Ubuntu 11.04 Natty Narwhal wydany wczoraj zawiera 2.6.38, który zawiera łatkę.
Piskvor

Niestety, link „Lista mailingowa zespołu jądra Ubuntu” wydaje się być martwy lub niepoprawny.
Greenonline,

20

Właśnie przeczytałem wątek lkml i mam nadzieję, że mogę zaoferować trochę informacji - choć nie chodzi o to, żeby wstawić łatkę do Ubuntu. Jak mówi post na połączonej liście Ubuntu, prawdopodobnie i tak będzie w wersji 2.6.38.

Łatka automatycznie grupuje proces na podstawie TTY. Lkml ma wiele dyskusji / argumentów, które mówią, że oznacza to, że nie jest to istotne w typowym użyciu na komputerze - że nie ma znaczenia dla aplikacji interaktywnych. Wszystkie przypadki testowe opierają się na: „uruchom zadanie intensywnie wykorzystujące procesor z terminala, a następnie spójrz na czas reakcji innego zadania”. Na przykład kompilacja jądra i próba obejrzenia wideo.

Nie oznacza to, że nie jest to dobre, ale ogólne nagłówki typu „reakcja pulpitu poprawiona o rząd wielkości” mogą być mylące, jeśli nigdy nie uruchomisz zadań intensywnie korzystających z procesora podłączonych do TTY. Oczywiście mogę się mylić!

Było kilka wzmianek o sposobach osiągnięcia bardzo podobnego rezultatu poprzez dodanie do twoich skryptów bash i umożliwienie wszystkim użytkownikom tworzenia grup. Działa to tylko wtedy, gdy obecne jądra Ubuntu mają włączone cgroups. Odpowiednie posty to:

Oczywiście nie odpowiada to na pytanie, ale można go użyć do ustalenia, czy łatka jest tak magiczna, jak się spodziewano.


4
Myślę, że więcej osób musi to zrozumieć.
Roddie

12

W jaki sposób użytkownicy Ubuntu mogą uzyskać to w obsługiwany sposób ?

Podkreśl moje. Jedynym sposobem, aby uzyskać to w obsługiwany sposób, jest czekanie, aż Ubuntu ściągnie go do jądra Ubuntu. Ponieważ tak naprawdę właśnie trafia na listę mailingową jądra, wszystko jest na tyle świeże, że wszystkie testy są dość anegdotyczne i wyobrażam sobie, że minie trochę czasu, zanim będzie gotowy do masowego wdrożenia.

Gdzieś między następnym wydaniem a długim czasem zgadnę.


Ale jeśli jesteś dużym chłopcem (lub dziewczynką) i możesz poradzić sobie z uszkodzonym jądrem, jeśli coś pójdzie nie tak (tj. Wiesz, jak korzystać z gruba), możesz załatać i skompilować własne jądro.

  1. Pobierz łatkę. Istnieją różne wersje, ale najlepsze z nich zostały zamieszczone poniżej przez innego użytkownika: http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2

  2. Pobierz źródło jądra dla wersji, do której łatka jest skierowana. W tym przypadku 2.6.36. Możesz pobrać waniliowe (oryginalne, niezmodyfikowane przez zespół jądra Ubuntu) źródła jądra z kernel.org i wyodrębnić je.

  3. Zapisz łatkę gdzieś i zastosuj ją, cdwchodząc do katalogu źródłowego jądra i uruchamiając: patch -p1 < /path/to/patch(potrzebujesz patchdo tego pakietu ... Myślę, że wchodzi w skład, build-essentialjeśli nie jest zainstalowany domyślnie)

  4. A następnie kontynuuj resztę „staromodnego” procesu kompilacji ... Naprawdę nie zawracałbym sobie głowy nowszymi metodami, ponieważ są one ukierunkowane na źródła jądra objęte sankcjami Ubuntu / Debian ... Ponadto stary sposób wydaje się łatwiejszy ( Dla mnie).

Budowanie jądra nie jest trudne, ale możesz go zepsuć, jeśli zboczysz zbyt daleko od przyjętej ścieżki. I nie dostaniesz oficjalnego wsparcia, jeśli coś pójdzie nie tak.


Alternatywnie, pojawia się coraz więcej jąder z wbudowaną łatką (lub przynajmniej w drzewie źródłowym, w oczekiwaniu na następne wydanie).

  • Wierzę, że Zen Kernel ma tę łatkę w swoim drzewie, ale nie jestem pewien, czy jest jeszcze w jakiejkolwiek wersji.
  • Liquorix Kernel ma to pieczone w teraz też.

Uwaga: oba te jądra (i prawdopodobnie także inne) nieco odbiegają od sposobu wykonywania jądra przez Ubuntu. Może się okazać (tak jak ja, kiedy przeprowadziłem się do Liquorix), że skalowanie częstotliwości procesora przestaje działać lub zawieszenie ulega awarii. Zwykle są poprawki i obejścia, ale są szanse, że nie uzyskasz wsparcia od AskUbuntu lub reszty środowiska Ubuntu, ponieważ nie możemy sprawdzić każdego dostępnego jądra.


Ktoś musi gdzieś mieć tę łatkę już zastosowaną w publicznej gałęzi git. Za dużo nowości, żeby nie, ale moje google-fu mnie zawodzi.
Karl Bielefeldt,

Jądro @Karl zen ma go w swoim drzewie git.
Oli

Liquorix ma to zastosowanie wśród całej masy innych łat. Pracuję nad tym teraz i jest całkiem fajny. Jednym z głównych problemów dla mnie (i prawdopodobnie większości innych użytkowników) jest to, że CPU_FREQ wydaje się być nieco zepsuty. Utknęło na WYDAJNOŚCI.
Oli


1

Na dzień 18.01.2011, Linux 2.6.38-rc1 zawiera wspomnianą łatkę.
Zobacz powiązane wiadomości Phoronix i post Linusa .

W dniu 29.01.2011 r. Dzienna wersja Natty Narwhal jest dostarczana z systemem Linux 2.6.38.

Istnieją więc obecnie dwa rozwiązania:


0

Właśnie podniosłem tę dyskusję i jest ona bardzo interesująca. Napisałem mały post na blogu o tym, jak włączyć łatkę cgroup na Ubuntu 10.10.

Naprawdę nie testowałem, czy to działa, czy nie, więc informacja zwrotna byłaby świetna!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.