|
Kernel Traffic Latest | Archives | People | Topics |
Wine Latest | Archives | People | Topics |
GNUe Latest | Archives | People | Topics |
| Czech |
| Home | News | RSS Feeds | Mailing Lists | Authors Info | Mirrors | Stalled Traffic |
Table Of Contents
| 1. | 15 Dec 2001 - 27 Dec 2001 | (174 posts) | Algotym szeregujący; Filozofia rozwoju; IRC |
| 2. | 17 Dec 2001 - 2 Jan 2002 | (139 posts) | Trochę dyskusji na temat filozofii rozwijania |
| 3. | 25 Dec 2001 - 27 Dec 2001 | (9 posts) | Stan prac nad ramfs |
| 4. | 26 Dec 2001 - 27 Dec 2001 | (4 posts) | Wybieranie łat dla 2.4 |
| 5. | 27 Dec 2001 - 28 Dec 2001 | (4 posts) | Linus odpowiada na krytykę |
| 6. | 27 Dec 2001 | (2 posts) | Sterownik audio SiS7012 |
| 7. | 27 Dec 2001 - 28 Dec 2001 | (5 posts) | UML przygotowany do wejścia do 2.5 |
| 8. | 29 Dec 2001 | (2 posts) | Alan kontynuuje opiekę nad 2.2 |
| 9. | 31 Dec 2001 - 2 Jan 2002 | (8 posts) | Nowy podział 2.4 |
| 10. | 2 Jan 2002 | (7 posts) | Porównanie 2.4 z 2.2 |
Introduction
Chciałem się zatrzymać na chwilę, aby wskazać Bookfindera, bardzo fajną darmową wyszukiwarkę książek. Wysyła zapytania do wielu księgarń w sieci i zwraca wyniki. Możesz zaznaczyć, czy chcesz nowe czy używane książki, określić zakres cen i jeszcze wiele innych rzeczy. Używam tego do wszystkich moich poszukiwań książek. Mają także kilka list dyskusyjnych dotyczących usługi. I naprawdę mają zajebistą stronę.
Aby ją wypróbować, spróbujcie poszukać książek o Linuksie.
Mailing List Stats For This Week
We looked at 1382 posts in 5590K.
There were 366 different contributors. 187 posted more than once. 137 posted last week too.
The top posters of the week were:
1. Algotym szeregujący; Filozofia rozwoju; IRC
15 Dec 2001 - 27 Dec 2001 (174 posts) Archive Link: "Re: Momencik..."
Topics: Szeregowanie procesów, Symetryczne przetwarzanie równoległe (SMP), Filozofia rozwoju
People: Linus Torvalds, Davide Libenzi, Benjamin LaHaise, H. Peter Anvin, Alexander Viro, Rik van Riel, Ingo Molnar, Alan Cox
Davide Libenzi spytał Linusa Torvaldsa, czemu nie bierze udziału w żadnej dyskusji dotyczącej przyszłości kodu z algorytmem szeregowania. Linus odparł:
Po prostu nie sądzę, aby było to interesujące. Algorytm szeregowania zajmuje około 100 linii z iluś-tam-milionów (3.8 przy ostatnim liczeniu) i nie ma zbyt dużego wpływu na normalne działanie.
Kiedyś na pewno zrobimy kolejki per procesor, czy coś takiego. Ale to mnie martwi dużo mniej niż takie rzeczy, jak VM, czy warstwa urządzeń blokowych ;)
Wiem, że wiele osób uważa algorytm szeregujący za istotny, a teoria systemów operacyjnych bardzo się na ich temat rozwodzi -- to jest jedna z rzeczy, o które ludzie mogą się zawsze kłócić oraz jest wystarczająco prosta koncepcyjnie, aby ludzie się jej nie bali. Osobiście nigdy nie sądziłem, aby było to szczególnie istotne zagadnienie.
Spójrzmy prawdzie w oczy -- obecny scheduler ma dokładnie tę samą prostą strukturę, którą miał już prawie 10 lat temu, i tak, nie jest ona optymalna, ale tak naprawdę obciążenia, przy których przeszkadzałoby to ludziom, w rzeczywistym świecie się nie zdarzają. Przykro mi, ale to prawda.
I musisz zrozumieć, że nie tak wiele kawałków kodu dożyło takiego wieku jak scheduler. Co jest jeszcze jednym dowodem na to, że szeregowanie jest proste.
W ciągu ostatnich 10 lat już kilka razy przepisaliśmy VM i przypuszczam, że tak się stanie jeszcze kilka razy w ciągu najbliższych paru lat. Przez ostatnie pięć lat dowiedzieliśmy się, że w obecnych trzywarstwowych tablicach stron powinny być cztery warstwy itd.
Podejrzewam, że w porównaniu do takich problemów, stworzenie kolejek per procesor i logiki do rozkładania obciążenia pomiędzy procesorami w algorytmie szeregującym jest _trywialne_. Łaty istnieją i nie sądzę, aby ludzie mogli za bardzo spieprzyć te kilkaset linii kodu.
Davide odparł, że nie widzi powodu, dla którego nie można by wymienić algorytmu szeregowania w czasie trwania 2.5, mówiąc: "To nie jest ważniejsze niż inne rzeczy, ale to jedna z pozostających kwestii odnośnie skalowalności/projektu. To nie jest ważniejsze niż VM, ale nad VM pracuje już wystarczająco wiele osób. I mam nadzieję, że scheduler poprawi się w czasie krótszym niż 10 lat." Na ględzenie Linusa, że osiągnięcie idealnego schedulera nie jest tak istotne, Davide powiedział: "Gdy zaczynamy działać na 4, 8 czy 16 procesorach, obciążenie przy przeglądaniu kolejki, które może być nieznaczące przy jednoprocesorowych systemach, zaczyna być istotne. Żeby nie wspomnieć o efektach liniowej pamięci podręcznej. Żeby nie wspomnieć, jak obecny algorytm szeregujący przemieszcza zadania pomiędzy procesorami. Linus, tu nie chodzi o testy wydajnościowe z 2451 procesami skaczącymi w kolejce do wykonania, o które specjalnie się nie troszczę, ale o sumę ,,pierdółek'', która powoduje prawdziwy problem. Możesz popatrzyć na to, jak na łatę z kosmetycznymi zmianami w projekcie, a nie jak na łatę poprawiającą wydajność." W końcu Davide zdenerwował się na wypowiedzi Linusa odnośnie tego, że różne rzeczy są proste i trywialne. Dowodził: "Nie nazwałbym algorytmu wyboru właściwego zadania do wykonania w przypadku SMP trywialnym. Różnica pomiędzy wyborem właściwego zadania do wykonania i właściwej strony do wyswapowania jest taka że, jeśli spieprzysz wybór przy tym pierwszym, to wpływ na cały system jest mniejszy. Ale jeśli to spieprzysz, to Twój projekt będzie obsysał tak, czy siak. Skoro twierdzisz, że 1) prawdziwi mężczyźni zajmują się VM, a początkujący programiści -- szeregowaniem procesów, 2) algorytm szeregowania jest prosty/trywialny i nie widzisz sensu pracowania nad nim, 3) kto by nie pracował nad szeregowaniem, to i tak nie jest w stanie go spieprzyć, czemu nie uczynisz Alana albo Ingo odpowiedzialnym za przeprowadzenie dyskusji (oczywiście prostej) o przyszłości schedulera, która będzie mogła się odbyć bez przeszkadzania w pracach nad VM? Mówię tu o takich dyskusjach, w trakcie których ludzie zgłaszają rozwiązania, kod i liczby, rozmawiają o dobrych i złych stronach różnych podejść i w końcu dochodzą (po krótkiej walce) do bardziej lub mniej powszechnie zaaprobowanego rozwiązania. Scheduler, poza tą kwestią o prawdziwych mężczyznach, jest jednym z podstawowych elementów systemu operacyjnego i przeprowadzenie publicznej debaty, nie mówię, że co miesiąc, czy co rok, ale powiedzmy co najmniej raz na cztery lata (wtedy była ostatnia, którą pamiętam) byłoby ze wszech miar korzystne. I nie, jeśli nie dasz komuś, komu ufasz, ,,władzy'' do przeprojektowania schedulera, żadna dyskusja się nie odbędzie, bo nikt nie lubi, aby wynik takiej debaty był przekierowywany do /dev/null."
Linus odpowiedział, że 2.5 może być odpowiednim czasem na to, ale dodał: "Są sprawy milion razy ważniejsze." Wyjaśnił: "Komputery 4 procesorowe to jest dziś ,,high end''. Na każdą taką maszynę przypada przypuszczalnie kilkadziesiąt do kilkuset komputerów UP. Ten wskaźnik jest jeszcze gorszy w przypadku maszyn 8-procesorowych, a 16-procesorowe stanowią już margines. Musisz obrać jakieś priorytety. Narzut na szeregowaniu jest na samym dole listy." Davide odparł, że nie ma potrzeby wartościować każdego zadania, ale Linus powiedział: "Cóż, bezpośrednio _poprosiłeś_ mnie, abym powiedział, czemu się tym nie zajmuję. No i Ci odpowiedziałem." Gdzie indziej dodał:
Zrób to sam. Nie angażuj mnie, ponieważ nie sądzę, aby to było jakiekolwiek wyzwanie. W 1991 napisałem kawałek kodu, który _cały czas_ stanowi większość algorytmu i to jest, kurczę, w zasadzie jedyny kawałek kodu, który został w miarę nietknięty do tej pory. Całe ,,ponowne obliczanie priorytetów, gdy wszystkie spadły do zera'' było tam od samego początku.
To powoduje, że mówię: ,,oh, szybki hack z 1991 działa na większości komputerów w 2001, więc jak trudny może być ten problem?''
Zrób to sam. Ludzie pytali, czy jestem zainteresowany, a ja mówiłem ,,nie''. Zrób tak: przeprowadź testy porównawcze na wszystkich konkurujących łatach i spróbuj stworzyć najlepszy. Wtedy zgłoś się do mnie z gotowym rozwiązaniem.
W głównym wątku, nieco z boku, Benjamin LaHaise spytał: "Hej, a co z tymi, którzy potrzebują nowych numerów dla wywołań systemowych (ang. syscall), dla których jesteś jedynym źródłem takich numerów?" Linus odparł: "Mówiłem Ci już wiele razy, że chciałbym najpierw zobaczyć wstępną implementację, która zostanie publicznie przedyskutowana i użyta gdzieś poza prywatnymi firmami, do których nie mam jak zajrzeć..." H. Peter Anvin wspomniał: "Jest taka grupa w IBM-ie, która zaprezentowała swoją wersję algorytmu szeregującego dla systemów SMP na tegorocznym OLS; wywołało to całkiem ciekawą dyskusję." Ale Benjamin uważał, że wymagania Linusa spowodują klasyczny problem jajka i kury. Linus odrzekł: "Dlaczego? Wolę żeby ludzie pobawili się nowymi syscallami i _przetestowali_ je i, jeśli wywołania systemowe trafią w końcu do jądra, musieli przekompilować swoje programy, niż wprowadzać nowe, zupełnie nieprzetestowane syscalle..." Benjamin odpowiedział, że wysłał kod, i że różne osoby go przetestowały, ale nie jest w stanie zmusić ich, aby wysłali swoje komentarze na listę. Linus na to odparł:
No cóż, jeśli ludzie nie są zainteresowani, to w to na pewno _nigdy_ nie wejdą.
Zapamiętaj: nie dodajemy nowych rzeczy, tylko dlatego, że możemy.
Tak szczerze, nie uważam, że powiedziałeś tak do wielu ludzi. Nie zauważyłem żadnej dyskusji na linux-kernel o aio, być może dlatego, że wysłałeś kilka ogłoszeń i nikt nie zwócił uwagi, albo wspomniałeś tylko przelotnie i ludzie nie zauważyli.
Spójrz jak długo zajęło, zanim ext3 został ,,standardem'' - włączyłem to do mojego drzewa, kiedy zacząłem dostawać prawdziwe sygnały, że jest używane i ludzie lubią tego używać. Po prostu nie lubię dodawać łatek ,,żeby zdobyć użytkowników''. Nawet rezerwacji - bo rezerwuję sobie prawo, aby _nigdy_ nie włączać czegoś, jeśli ocena krytyczna brzmi ,,to nie ma sensu''.
Tak szczerze, fakt testowania tego przez ludzi z miejsc takich jak Oracle etc. jest drugorzędny - ci ludzie będą używać czegokolwiek. Dowiodła tego historia. Nie oznacza to, że _ja_ zaakceptuję cokolwiek.
Fakt, że lubię interfejsy jest w zasadzie drugorzędny - sprawia to, że jestem bardziej chętny, aby to włączyć nawet do na wpół gotowej rzeczy, ale NIE oznacza, że ufam mojemu gustowi wystarczająco, aby włączyć to ,,pod przykryciem'' ze szczątkową otwartą dyskusją, użytkowaniem i zmianami.
Gdzie _jest_ dyskusja na linux-kernel?
Gdzie są wszystkie negatywne komentarze od Ala? (Al _zawsze_ ma negatywne komentarze i sugestie poprawek, nie próbujcie mówić, że jemu to się też podoba bez żadnych zastrzeżeń ;)
Alexander Viro odparł:
Ech.
Obok _wielkiego_ problemu z otwieraniem asynchronicznego API dla przestrzeni użytkownika (z wielu powodów, włączając zwyczajową jakość kodu asynchronicznego w ogólności i w szczególności jeden sterownik sterowany zdarzeniami), jest jeszcze bardziej szczególny - długo oczekiwane, w pełni synchroniczne writepage() z przyjaciółmi od Bena. Uwierzę jak zobaczę, a na razie nie pojawiło się.
Zatem, na jakiś czas się, kurna, z tego usuwam -- nie podoba mi się to, ale jestem już zmęczony tym rodzajem wojen religijnych.
W odpowiedzi na pytanie Linusa, kiedy na liście linux-kernel odbyła się dyskusja, Rik van Riel odparł z szelmowskim uśmiechem: "Na jakie listy dyskusyjne chciałbyś być zapisany? ;)" Linus odrzekł:
Dziękuję bardzo, nie jestem zapisany na żadną. Czytuję je przez bramkę newsową, która daje mi dostęp do tych ważniejszych.
A jeśli dyskusja nie odbyła się na żadnej z nich, to nie była to otwarta dyskusja.
I nie, przykro mi, ale IRC również się nie liczy.
Rik odpowiadział: "Niezależnie od Twojego zdania, czy się liczy, czy nie, IRC jest miejscem, gdzie aktualnie dzieje się większość rzeczy." Ingo Molnar zaoponował:
większość przydatnego ruchu na lkml nie da się wyrazić na IRC-u. Jakkolwiek IRC może być przydatny jako wspomagająca forma kanału komunikacyjnego, MSZ listy email winny pozostać główną siłą kierunkującą rozwój jądra Linuksa, inaczej skoncentrujemy się tylko na tych drobnych pomysłach, które dadzą się wyrazić w 1-2 linijkach na irc-u i które są wystarczająco proste, aby można było je zrozumieć, dopóki nie pojawi się następna wiadomość. Także brak niezawodnej archiwizacji IRC-a uniemożliwia nowym osobom późniejsze odtworzenie przebiegu myślowego. O ile IRC może spowodować szybkie napisanie superłatki przez doświadczonego opiekuna jądra, ostatecznie jednak będzie izolował i alienował nowicjuszy i doprowadzi do powstania starzejącej się, nacechowanej osobowo elitarnej sieci starszych panów i umierającego OS.
Rozważając używanie IRC-a jako głównego medium rozwoju jądra Linuksa - szybkie tempo IRC-a często powstrzymuje głębsze przemyślenia - o ile jest to z pewnością dla wielu ludzi powód, aby IRC-a używać, o tyle nie może zaowocować lepszym jądrem. [powiedziawszy powyższe muszę zaznaczyć, że używam IRC-a na codzień, nie było to więc rzucanie kalumni na irc-a, rzadko jednak używam go do rozwoju oprogramowania.]
Prawdą jest, że czytanie listów nie na temat na lkml, także nie jest mądrym wykorzystywaniem mocy rozwojowej, ale trzeba to wkalkulować, tak samo jak spam - to cena za posiadanie otwartego forum.
i szczerze mówiąc, większość narzekań na jakość lkml jest przesadzona. To, czego nie bierzecie pod uwagę to fakt, że o ile 3 lub 5 lat temu prawdopodobnie większość listów na lkml uważaliście za ekscytujące i dopingujące, o tyle dzisiaj jesteście dośwaidczonymi hakerami jądra i prawdopodobnie nudzi was 90% ruchu. Właśnie przeprowadziłem test - i być może wybrałem zły zestaw listów - ale większość ruchu na lkml jest właściwa i sam uznałbym je za "interesujące i ekscytujące" jeszcze 5 lat temu. Dziś wiem, co znaczą i zrozumienie ich może nie być już takim wyzwaniem - ale to jest jeden ze złych efektów ubocznych doświadczenia. Dziś na lkml jest więcej ludzi, zgłasza się więcej błędów i rozmawia się o większej liczbie łatek - bycie na bieżąco jest trudniejsze. Może miałoby sens rozdzielenie listy linux-kernel na dwie: linux-kernel-bugs i linux-kernel-devel (niemoderowane), lecz aktualny kształt i jakość dyskusji (kawa na ławę) jest, jak myślę, w porządku.
również bardziej oficjalne listy pasują do kształtu kodu źródłowego, niż nieoficjalny ruch na IRC-u. Dlatego też, kiedy się jest zmuszonym do ukształtowania wiadomości w większy fragment tekstu ASCII, będzie to pierwszy krok do dobrego kodu jądra.
(na IRC-u można być superhakerem z dobrze znanym pseudonimem, wchodzić i wychodzić z kanałów, być zagadywanym przez nowicjuszy. To może podbudować ego. Ale nie powinno utrudniać oceny.)
Również Alan Cox odpisał Linusowi, mówiąc: "Jeśli dyskusja byłaby na liście l-k, większość deweloperów nie będzie jej czytała, ponieważ nie mają czasu, aby przekopywać się przez wszystkie śmieci, które nie mają dla nich znaczenia." Dodał też: "IRC jest miejscem, w którym większość rzeczy, zwłaszcza związanych z producentami, jest dzisiaj początkowo dyskutowana, wespół z kernelnewbies, gdzie jest większość wprowadzeń - ale to jest raczej dyskutowane, niż oficjalnie proponowane i rozważane."
Rozmowa zeszła potem w innym kierunku, lawirując pomiędzy różnymi tematami, nigdy nie zatrzymując się na tyle, aby wyciągnąć jakieś wnioski.
2. Trochę dyskusji na temat filozofii rozwijania
17 Dec 2001 - 2 Jan 2002 (139 posts) Archive Link: "Kierunek w którym podąża Linux"
Topics: Filozofia rozwijania, Utrzymywanie źródeł
People: Eyal Sohya, Ed Borasky, David Weinehall, Dana Lacoste, Alan Cox, Rik van Riel, Russell King, Linus Torvalds, Troy Benjegerdes, Daniel Phillips
Eyal Sohya wystąpił z szeregu i napisał:
Przyglądam się tej Liście i mam parę pytań, i byłbym wdzięczny za odpowiedż. Niektóre pewnie nie mają ostatecznych odpowiedzi i głosy na te tematy mogą być podzielone.
Ed Borasky zaproponował: "Osobiście preferuję pełny SEI CMM poziom 2 albo 3. To czy są wolne narzędzia, które ułatwią ten proces, to już zupełnie inna sprawa. " David Weinehall miał jednak wątpliwości:
Z poziomem 3 SEI CMM dla jądra, pełne testy i dokumentacja pozwoliłyby wypuszczać nowe jądra co pięć miesięcy, z nowymi sterownikami -- jakieś 2 lata po wypuszczeniu urządzeń, a obsługa nowych platform pojawiałaby się po 2-3 latach po ich udostępnieniu. W chwili obecnej, nowe platformy jesteśmy w stanie obsługiwać 1-2 lata przed ich wejściem na rynek (na przykład tak, jak przy IA-64...)
W ten sposób usunęlibyśmy wszystkie korzyści, które przynosi bazarowy styl rozwijania kodu, podczas gdy nie zarobilibyśmy niczego specjalnego, oprócz wolnej maszynerii papierkowej roboty. Nie, dzięki.
Nie narzekam, gdy ludzie robią dobrą dokumentację i testy swojej pracy; raczej odwrotnie, ale to musi być robione ochotniczo, a nie wymuszane przez jakieś standardy. Czy naprawdę myślisz, że Linus mógłby wykonywać tę całą dodatkową robotę związaną z inżynierią oprogramowania? Pomyśl jeszcze raz. Czy szczerze wierzysz, że zaakceptuje to choćby za milion lat? Słaba nadzieja.
Wielka inżynieria oprogramowania oparta o PSP/CMM/cokolwiek jest w porządku, gdy masz jasny cel w głowie; plan określający, co jest do zrobienia, opisujący szczegóły. Nie dla czegoś, co zmienia kierunek rozwoju ot dla kaprysu, z tygodnia na tydzień, a jedynym tego celem jest poprawa sytuacji, rozwój i (czasem) uproszczenie.
Eyal napisał, że tak rygorystyczny system nie jest konieczny, i że: "Trudno oczekiwać, że uda się stworzyć system, dzięki któremu rzeczy, które działają nigdy nie będą psute." Nie było odpowiedzi, ale w innym miejscu Dana Lacoste twierdziła, że: "Alan (2.2), Marcelo (2.4) i Linus (2.5) dobrze sobie radzą z kontrolą kodu źródłowego. Fakt, że kontrolą kodu zajmuje się jeden człowiek, a nie kawałek oprogramowania, nie ma znaczenia. " Alan Cox odpowiedział: "Niezupełnie. Nasza praca jest niespecjalna. Część rzeczy upada, jest gubiona lub odchodzi w zapomnienie, jest aplikowana z konfliktami - dzieją się rzeczy, przy których oprogramowanie zachowywałoby się lepiej niż człowiek."
Dalej w tym wątku Dana uznała, że zdanie Alana oznaczało, że gdyby tylko było lepsze rozwiązanie, to na pewno by go użyto. Padła sugestia, że należałoby tę kwestię przedyskutować. Rik van Riel odpowiedział zaś:
Wydaje się, że to jest pomysł, tylko że do dziś nie widziałem jeszcze żadnego odpowiedniego rozwiązania dla tego.
Największym obecnie problemem jest to, że łatki są gubione, a bezpośrednią przyczyną takiego stanu jest to, że opiekunowie jąder nie dysponują nieskończonym czasem.
System, który miałby rozwiązać ten problem powinien ułatwiać opiekunom jąder zapamiętywanie jakie łaty mają, a tym samym oszczędzać ich czas. Wydaje mi się, że takie coś powinno składać się z następujących elementów:
Podsumowując, jeśli taki system kiedykolwiek zaistnieje, powinien _zmniejszać_ ilość pracy jaką mają opiekunowie, w przeciwnym razie nigdy nie będzie używany.
Alan napisał, że lata temu Andrew Tridgell napisał jitterbug , który rozwiązywał wszystkie te problemy, ale Linus Torvalds odmówił używania go. Rik wyrzucił z siebie: "Nie obchodzi mnie Linus, on odrzuca tak wiele porawek, że z jego jądrem nic dobrego się nie dzieje od czasów 2.1. Taki system byłby jednakże użyteczny dla ludzi, którzy _są_ opiekunami." Alan odesłał go do strony jitterbuga i, po jednej lub dwóch wiadomościach, dodał: "Mam system, który spełnia moje oczekiwania, rzeczy, które wyglądają na warte włączenia trzymam w katalogu TO_APPLY, a potem łaczę je w logiczne kawałki."
W pewnym momencie Russell King (opiekun portu ARM) napisał:
Mówiąc jako osoba, która _używa_ systemu śledzenia łat, wierzę, że system zarządzania łatami jest istotnym bólem.
Jeśli jakość łat nie jest dobra, to stawia Cię to w problematycznej sytuacji. Musisz dostarczyć ludziom powód odrzucania ich łatek, a to daje ludziom świetną możliwość dręczenia Cię jak to zrobić lepiej. Jeśli dostaniesz sporo takich łatek to w końcu twoja skrzynka mailowa będzie zapełniona listami ludzi, którzy będą chcieli wiedzieć jak poprawiać te ich łatki.
Zazdroszczę Alanowi, Linusowi i Marcelo tego, że mają możliwość odrzucania łatek po cichu i czekania na ponowne ich przysyłanie. Osobiście nie wierzę, że system śledzenia łat ulatwia życie. Oczywiście używanie go oznacza, że nie możesz zgubić łatek, ale też to, że nie możesz ich specjalnie przypadkiem zgubić. To, imho, czyni życie znacznie trudniejszym.
A Alan odpowiedział (ustosunkowując się do możliwości odrzucania łat po cichu): "Staram się tego unikać. Ludzie często dostają bardzo krótkie odpowiedzi, ale ja staram się odpowiadać tym ludziom, których łatka nie trafia do kolejki oczekujących na nałożenie. Czasem przez tydzień muszę się nim przyglądać zanim zrozumiem dlaczego mi się nie podobają. Za to nie przejmuję się ludźmi, którzy próbują się kłócić o to, dlaczego nie uwzględniłem ich łatki."
Rik odpowiedział Russellowi: " Nie zamierzam przesyłać nic więcej niż dwa razy. Jeśli po tym krytyczna poprawka nie zostanie uwzględniona, to umieszczę ją po prostu w jądrze w naszym RPMie i w ten sposób uszczęśliwię resztę świata." Linus odpowiedział na to:
Rik, to właśnie tłumaczy dlaczego nie uważam Cię za opiekuna jądra i nie będę się zajmował łatami od Ciebie. Nie jest warte mojego czasu przejmowanie się ludźmi, którzy nie mają zamiaru zajmować się, ani utrzymywać swoich łat.
Gdy Al Viro podsyła mi łatkę, którą nakładam i później podsyła mi do niej poprawkę, którą ominąłem z jakiegoś tam powodu, to daje mi to pewien komfort, wiem, że on _będzie_ jej pilnował, nie tylko kaprysił. To sprawia, że skłaniam się ku aplikowaniu jego łat w pierwszej kolejności.
Możesz zastąpić imię i nazwisko "Al Viro" nazwiskami Jeff Garzik, David Miller, Alan Cox, itd, itd. Rozumiesz o co mi chodzi?
To nie ma nic wspólnego z technologią. To dotyczy możliwości stałego rozwoju. Najważniejszą jego częścią jest to, że sami deweloperzy - odmawiam wpędzenia się samemu w sytuację, gdy to _ja_ muszę decydować kto jest lepszy - ludzi nie da się tak uszeregować. Zatem wymagam od innych więcej pracy. Myślcie o rozproszonym rozwijaniu.
Zauważcie, że rzeczy takie jak CVS nie pomagają w rozwiązaniu podstawowego problemu. Pozwalają na automatyczne akceptowanie łat i _zachęcają_ ludzi do zrzucania łat na innych i nie pomagają zachowywać się im, jak prawdziwym opiekunom.
Widzieliśmy to parę razy w Linuksie - na przykład David zwykł był utrzymywać wersję w CVS i skończył tę działalność sfrustrowany, bo musiał ją utrzymywać sam i porządkować niektóre złe części, tylko dlatego, że ja nie chciałem ich stosować (i on tego ode mnie nie chciał) i nie mógł zmusić ludzi do sprzątania, bo twierdzili, że ,,jak raz było włączone, to było włączone''.
Wiem, że zwolennicy kontroli źródeł powiedzą, że jej używanie pozwala ułatwić proces odrzucania złego kodu, ale to NIEPRAWDA. _Nie_ jest łatwiej odrzucać złe kawałki. Jedynym sposobem radzenia sobie z tym, co złe, jest nałożenie _odpowiedzialności_ na ludzi za ich własne g*wno i zmuszenie ich do opieki nad nim.
Ty odmawiasz takiego zachowania, a potem skarżysz się, gdy inni nie chcą opiekować się za ciebie twoim własnym kodem.
Rik odpowiedział: "OK, zorganizuję coś co będzie automatycznie przesyłać ci łatki tak długo jak długo nie będą one stosowane, nie dostanę odpowiedzi, a one ciągle będą się dawały aplikować bez konfliktów." Ale Linus powiedział: "Czy ty w ogóle przeczytałeś część dotyczącą ,,opiekowania się''? Ignoruję automatyczne emaile tak samo jak ignoruję spam. Opieka nad kodem _nie_ polega na automatycznym wysyłaniu łat." Rik odparł: "Oczywiście łata będzie aktualizowana wedle potrzeb, ale ciągle mam leżące luzem, półroczne łaty, które cały czas działają tak jak tego oczekuję i nie wymagają żadnych zmian. " Linus zaś napisał:
Jasne. Automatyczne wielokrotne podsyłanie łat można uznać za część pracy opiekuna, jeśli tylko testowanie ich zachowania jest także zautomatyzowane (znaczy jest dodawana automatycznie notka mówiąca, że łata została zweryfikowana).
To jest tak, że naprawdę _są_ ludzie, którzy wstawiają ,,mail torvalds < crap'' do crona. Bardzo szybko zostają częścią mojego filtru antyspamowego i dlatego nigdy _nic_ co stworzyli, nie dostało się do jądra, niezależnie od tego, czy proces był zautomatyzowany, czy nie..
Rik napisał, że dodałby trochę inteligencji do swoich skryptów, tak by zapobiec wielokrotnemu przesyłaniu łat, gdy Linus byłby zbyt zajęty lub niezainteresowany i by kolejkować odrzucone łaty w celu ręcznego przejrzenia. Richard Gooch zaproponował, by taka automatyzacja mogłaby być publiczna, tak żeby i inni mogli jej używać. Linusowi podobał się sposób w jaki toczyła się dyskusja i dodał: "Właściwie to w Transmecie już rozmawialiśmy o scentralizowaniu takiej automatyzacji (a ODSL podchwyciło część pomysłu), ale tak, z punktu widzenia rozsądnego zużycia zasobów to jest coś, co może być _trywialnie_ zrobione po stronie wysyłającej w sposób, który się świetnie skaluje (podczas gdy próba zrobienia czegoś takiego przy odbieraniu wymaga _wielkiego_ sprzętu, który skalować się nie będzie, szczególnie dla celów kompilacji). Troy Benjegerdes zaproponował:"
oto pomysł:
Opiekunowie zajmujący się poszczególnymi fragmentami jądra, czy mający sprecyzowane zainteresowania, czy cokolwiek, mogą używać zamkniętego zbioru skryptów na serwerze webowym, który będzie działał jako kontroler robota nakładającego łaty, oraz mają dostępny zbiór maszyn, na których mogą wykonywać kompilacje.
(to znaczy davej, andrea, riel, itd. mieliby swoje własne serwery webowe, które zachowywałyby się jako centralne miejsca do składowania danych, jak też i miejsca, z których użytkownicy mogliby ściągać to, co chcą)
Tak naprawdę, kompilacja odbywa się na maszynach użytkowników, którzy chcą używać jądra, albo w przypadku dystrybucji, na wewnętrznych farmach utrzymywanych w tym celu. Użytkownicy mogliby mieć inny zestaw skryptów, które ściągałyby jądro, łatały je i budowały przy użyciu pliku konfiguracyjnego dostarczanego przez użytkowanika albo serwer. Skrypt przesyłałby wynik takiego budowania na serwer, tak by opiekunowie mogli widzieć co się zdarzyło, a serwer dostarczałby użytkownikom jakichś mechanizmów, które mówiłyby co działa, a co nie.
Jak tylko serwer webowy dostanie dane z powrotem, robot łatający może zdecydować, czy zastosowanie łaty skończyło się sukcesem, czy nie i zadecydować, czy ją przesłać, usunąć z kolejki, czy cokolwiek innego.
Prawdopodobnie powinniśmy także umożliwić końcowym użytkownikom przesyłanie ich własnych łat do opiekuna i dać im możliwość konfigurowania systemu na serwerze, tak by mogli mieć dokładnie to samo, co opiekun.
Najważniejszą częścią jest tu to, że system powinien zmiejszyć pracę opiekunów, bo odpowiada on na tysiące maili i sprawdza czy łaty są w porządku i robi to bez przerwy. (Myślę, że to powinno być relatywnie łatwe). To musi być łatwe do wykorzystania, zarówno dla opiekunów jak i dla użytkowników.
Mam trochę rozsądnych, miłych skryptów w pythonie, które działają tak jak część odpowiedzialna za budowanie jądra, i trochę, w sumie obrzydliwych skryptów, które działają jako serwer webowy. Krótki opis jest dostępny tu.
http://altus.drgw.net/description.html
Ochotniczo oddaję te skrypty razem z pewną ilością czasu, którą mogę poświęcić na ,,prawdziwą'' pracę ;)
Rika to poruszyło i stworzył listę mailową by to przedyskutować. Napisał:
patchbot@nl.linux.org
Możecie zapisać się na tę listę wysyłając na adres listar@nl.linux.org list o treści ,,subscribe patchbot''.
Jak tylko się tym zajmę, to pod adresem http://patchbot.nl.linux.org/ powinna się też znaleźć jakaś treść (chyba że ktoś inny się tym zajmie)
W innym miejscu, w wiadomości zawierającej Subject: [PATCH] rlimit_nproc, Rik podesłał łatkę mówiąc, że chociaż nie jest ona jeszcze zautomatyzowana, to "byłaby typowym na to kandydatem... czy podoba wam się sposób, w jaki opis i łatka zostały połączone? " Linus odpowiedział:
Wygląda nieźle, oprócz tego, że nigdzie nie napisano, dla której wersji jądra wyprodukowano tę łatkę. To bardzo często jest dość ważne ;)
Teraz, jeśli chcesz to zautomatyzować, to proponowałbym dodać jedną sekcję między wyjaśnieniem a łatką: wynik ,,diffstat'' łatki. Nie ma to dużego znaczenia w tym przypadku, bo oczywiście łata jest wystarczająco mała, że przewinięcie ekranu pokazuje o co chodzi, ale...
Sugerowałbym także, że cokolwiek automatycznego, co miałoby aktywować łatkę, powinno pytać o jej temat i wymuszać by był dłuższy niż 12 znaków ;)
Warte uwagi przy automatyzacji byłyby sumy md5 lub podobne (by sprawdzać, że udało się bez szwanku przetransportować łatkę przez system mailowy). Podpis pgp byłby nawet lepszy, oczywiście - szczególnie użyteczny, że, jak podejrzewam, dobrze by było robić cc na pewną patch-list, a posiadanie identyfikacji wysyłającego jest zawsze dobrym pomysłem w takich przypadkach.
Ktoś zaproponował listę mailingową przeznaczoną tylko do przesyłania łatek, a Daniel Phillips napisał: "To właśnie to o czym myślałem: ,,linux-patches@kernel.org''. Pomysł polega na tym żeby, zamiast umieszczania słowa [PATCH] w linii tematu listu i robieniu cc: do Linusa, wysyłać wiadomości na linux-patches z cc na lkml, jeśli się ma ochotę (w zależności od rozmiaru łaty, od tego jak jest interesująca, itp). W każdym wypadku, linux-patches przesyłałaby kopię dalej do Linusa."
3. Stan prac nad ramfs
25 Dec 2001 - 27 Dec 2001 (9 posts) Archive Link: "2.5.2-pre2 wymusza włączenie ramfs"
Topics: Moduły
People: Linus Torvalds, Alan Cox
Keith Owens spytał, dlaczego ramfs jest w każdym przypadku wkompilowywany do jądra, a nie jest opcjonalny; Linus Torvalds odpowiedział: "Ponieważ jest mały, a jeśli by go tam nie było, i tak musielibysmy mieć jakiś ,,rootfs'' (który duplikowałby funkcjonalność ramfs)." Korzystając z okazji, Alan Cox zapytał: "Czy ramfs=N nie mogłoby być z powrotem używane jako ,,__init dla funkcji RAM fs''. Wydaje się, że byłoby to odpowiedzią na wszelkie problemy z miejscem, nawet fanatyków rozwiązań embedded." Linus odparł:
Hmm.. To mogłoby zadziałać, jednakże spodziewam się, że najbardziej zagorzali zwolennicy rozwiązań embedded są właśnie tymi, którzy mogą czerpać z ramfs najwięcej korzyści. To był z pewnością powód, dla którego istnieje..
Zobaczymy. Skończy się na tym, że będziemy używać ramfs do wstępnego butowania (np. do ,,tar.gz->ramfs'' etapu butowania), więc przerabianie tego na __init może nie być praktyczne z innych powodów. Musielibyśmy rozładować to nie po etapie __init, lecz po tym, jak pierwszy system plików root staje się nieużywany (co może zdarzyć sie później, zależnie od tego, co ludzie wrzucą do systemu plików).
4. Wybieranie łat dla 2.4
26 Dec 2001 - 27 Dec 2001 (4 posts) Archive Link: "2.4.17: łaty dla dodatkowych przycisków laptopa Della"
People: Alan Ford, Andreas Dilger
Marcelo Tosatti wysłał łatę, którą otrzymał prywatną wiadomością od Alana Forda. Alan wyjaśnił: "Łata dodaje kody dla czterech klawiszy skrótu, które są dostępne w laptopach Dell Inspiron." Andread Dilger odpowiedział: "Nie mam laptopa Della, ale AFAIK łaty takie, jak ta zostały w przeszłości odrzucone przez Andriesa Brouwera, ponieważ (jak sądzę) istnieje możliwość wykonania tego w przestrzeni użytkownika przy pomocy narzędzi do mapowania klawiatury takich, jak setkeycodes, xkeycaps czy xmodmap." Marcelo odparł, że taką samą informację dostał od Alana Coksa.
5. Linus odpowiada na krytykę
27 Dec 2001 - 28 Dec 2001 (4 posts) Archive Link: "Re: twój list"
Topics: Strategia rozwoju, Filozofia rozwoju
People: Andre Hedrick, Linus Torvalds
W odpowiedzi na poprzedni wątek, w którym Linus Torvalds orzekł, że nie włączy kbuild do jądra, dopóki warstwa IO urządzeń blokowych nie zostanie poprawiona, Andre Hedrick napisał: "puść w obieg swoją fifkę, żeby każdy z nas idiotów mógł zobaczyć Twoją wizję lub jej brak..." Linus odparł:
Ech. Myślę, że musiałem Ci ją dać dawno temu i nigdy mi jej nie oddałeś, ty podstępny draniu ;)
Wizja, tak przy okazji, jest taka, żeby na tyle poprawić warstwę żądań, abyśmy mogli obyć się bez półwarstwowych podejść SCSI/IDE i przetworzyć urządzenia blokowe w _tylko_ sterowniki urządzeń.
Na przykład, ide-scsi leci w tę wielką dziurę w niebie: warstwa SCSI już nie obsługuje specjalnych żądań ioctl, ponieważ wyższe warstwy będą wystarczająco elastyczne, abyś mógł po prostu przekazać żądanie w dół zwykłego potoku.
(W tej chwili możesz coś takiego zobaczyć w block_ioctl.c - jakkolwiek tylko część ioctl została przetworzona, masz ogólne pojęcie. Jestem raczej zdziwiony i zaskoczony, że nikt jeszcze nie komentował tej części).
Ostateczny wynik (mam taką nadzieję) jest taki, że możemy pozbyć się kilku par znajdujących się w warstwie blokowej. ide-scsi to tylko najoczywistsza dziwaczna para - rzeczy, takie jak "sg.c" w ogólności są raczej okropne. Jest bardzo mało _SCSI_ w sg.c - naprawdę to dotyczy przesyłania poleceń w dół, do urządzeń blokowych.
Powodem, dla którego chcę pozbyć się par, jest to, że na końcu stają się wielkimi kotwicami hamującymi rozwój: możesz stworzyć czysty sterownik, który nie zależy od wyższej warstwy SCSI (i ludzie takie tworzą, dla rzeczy takich jak DAC itd.), ale kiedy tak robisz, tracisz _całą_ wspomagającą infrastrukturę, nie tylko nadęcie. A to jest smutne.
(I to dlatego rzeczy jak ide-scsi istnieją - IDE w rzeczywistości nie chciało być sterownikiem SCSI, ale ludzie _chcieli_ mieć możliwość użytkowania kilku ogólnych procedur obsługi oferowanych przez warstwę SCSI. Nie mógłbyś tak po prostu radośnie używać części, które chciałeś).
Inna część przepisywania bio polega na usunięciu kolejnej pary: pomiędzy ,,struct buffer_read'' (używaną do ograniczonego rodzaju zarządzania pamięcią przez ileś systemów plików) i faktu po prostu robienia WE/WY.
Zwykłem myśleć, że możemy po prostu relegować ,,struct buffer_head'', aby _stała się_ bytem WE/WY, ale wychodzi, że znacznie łatwiej będzie po prostu oddzielić WE/WY i to dlatego teraz masz oddzielną strukturę ,,bio'' dla blokowego WE/WY, a buffer_head używa tego do wykonania pracy.
Andre, wiem, że martwisz się niskopoziomowymi sterownikami, ale:
Osobiście nie sądzę, abyś potrafił stworzyć dobry sterownik, nie mając rozsądnych interfejsów, a nie mieliśmy ich.
Sterowniki sieciowe, na przykład, znacznie się poprawiły i nie mają _niemal_ tej liczby problemów, co sterowniki urządzeń blokowych. Częściowo, to oczywiście dlatego, że są prostszym problemem, lecz właśnie dlatego, że były prostsze, można było je zmienić. Zmiany infrastruktury w sieci w serii 2.3.x naprawdę pomogły sterownikom.
Zauważ też, że ,,Jens'' i ,,komunikacja'' są bardzo istotne. Jeśli masz jakieś łatki, rozmawiaj, proszę, z Jensem, powiedz mu o kłopotach, bo wiem, że z nim ja mogę się dogadać.
Andre nie odpowiedział.
6. Sterownik audio SiS7012
27 Dec 2001 (2 posts) Archive Link: "[patch] sterownik audio SiS7012"
Topics: Moduły
People: Thomas Gschwind, Alan Cox
Thomas Gschwind wysłał łatę i ogłosił:
Dodałem obsługę sterownika audio SiS7012 do sterownika audio i810. Na mojej płycie głównej ECS K7S5A odtwarzanie działa doskonale. W niektórych przypadkach zapisywanie powoduje pad systemu, ale pracuję nad tym.
BTW, czy ktoś ma dane do tego układu? W tej chwili sterownik jest oparty na fakcie, że OSS wykorzystuje ten sam sterownik dla układów i810 i SiS7012 oraz na eksperymentach.
Alan Cox odparł, że prosił o specyfikację techniczną, ale nie dostał żadnej odpowiedzi. Dodał: "Doug Ledford <dledford@redhat.com> pracuje nad tym sterownikiem i znacznie udoskonalił obsługę i810 oraz poprawił wiele błędów. Wyślij mu kopię. Tak przy okazji, to nvidia chyba też używa jakiegoś klonu i810."
7. UML przygotowany do wejścia do 2.5
27 Dec 2001 - 28 Dec 2001 (5 posts) Archive Link: "UML został wysłany do Linusa"
Topics: Historia
People: Daniel Phillips, Jeff Dike
Jeff Dike powiedział, że wysłał łatę z Linuksem działającym w trybie użytkownika (User Mode Linux) Linusowi Torvaldsowi i podał odnośnik. Daniel Phillips powiedział:
To dobra wiadomość. Chciałbym tu dodać coś nieco mniej lamerskiego niż ,,ja też''...
Poza tym, że jest to podstawowe narzędzie, którego używam codziennie, sądzę że UML ma duży potencjał, jako ,,doskonałe więzienie''. Gdy UML się rozpowszechni, zaczniemy dostrzegać wiele interesujących aplikacji takich, jak symulacja klastrów czy ,,Bąbelki Linuksowe'' pod Windows.
Sądzę, że wykonujesz doskonałą pracę opiekując się UML-em poza-głównym-drzewem przez ponad rok, bez prawie jakiejkolwiek pomocy i mam nadzieję, że taki stan rzeczy nie potrwa już zbyt długo.
Jedd zgodził się co do szerokiej gamy zastosowań i podziękował Danielowi za dobre słowa. Dodał: "UML ma już prawie 3 lata (zacząłem hakować w lutym 1998; pierwsze publiczne oznaki były widoczne w czerwcu)." Zakończył mówiąc: "W tej chwili poluję na robale i wyszukuję brakującą funkcjonalność. Gdy już się z tym uporam, nazwę to UML V1.0 i wyślę do Marcelo. W tym momencie skończy się faza życia UML poza-głównym-drzewem."
8. Alan kontynuuje opiekę nad 2.2
29 Dec 2001 (2 posts) Archive Link: "Linux 2.2.21pre1"
People: Alan Cox, Matthias Andree
Alan Cox udostępnił kolejną wersję pre serii 2.2 -- 2.2.21-pre1 i dołączył listę zmian:
Matthias Andree spytał: "Hum, jaki jest stan rzeczy związanych z IDE? Ostatnio, jak patrzyłem, to łaty Hedricka do IDE były do jądra 2.2.19, a wydaje mi się, że są one raczej niezbędne do użycia np. PDC20265. czy UDMA na układach VIA. Mogę zrozumieć, że nie zostały włączone do 2.2.x z powodów stabilnościowych, ale kto się nimi teraz opiekuje? Albo czy przegapiłem coś na temat 2.2.20?" Nie było odpowiedzi.
9. Nowy podział 2.4
31 Dec 2001 - 2 Jan 2002 (8 posts) Archive Link: "Nowe drzewo rozpoczęte ;)"
People: Michael Cohen, Roberto Nibali, H. Peter Anvin
Michael Cohen ogłosił:
Po spędzeniu kilku chwil na openprojects.net, zdecydowałem się stworzyć nowe drzewo 2.4. Sądzę, że istnieje potrzeba szybko rozwijającego się drzewa podobnego do -ac, więc oto jest. Testujcie do woli. Dołączam patch-2.4.17-mjc1.bz2. Nowe wersje są dostępne pod adresem http://iamnotanimatedtoexplode.com/patches/mjc. W tej chwili łata zawiera:
Łata z odwrotnym mapowaniem #9 (Rik van Riel)
Łata wywłaszczająca jądro (Robert Love)
Łata usuwająca niektóre blokady (Robert Love)
Dodatkowa pozycja w /proc z afinicznością CPU (Robert Love)
Zasilanie entropii /dev/random z urządzeń sieciowych
(Robert Love)
Programowe zamrażanie komputera (Gabor Kuti?)
Szeregowanie czasu rzeczywistego dla Linuksa (?)
Aktualizacje IDE (Andre Hedrick}
Docelowo chciałbym, aby łata była rozwijana (przypuszczalnie przy użyciu bk) przez osoby z #kernelnewbies.
Linus powiedział niegdyś, że wiele drzew to dobra rzecz. Mimo to, będę starał się być tak blisko 2.4.x, jak to możliwe :)
Michael Cohen był bardzo podniecony i zachęcał do bliższego przyjrzenia się łacie. Roberto Nibali powiedział: "Dzięki za robienie tego. Czy możesz powiedzieć, jakie są kryteria, według których wybierasz włączane łaty? Chętnie bym widział tam grsecurity, która raczej nigdy nie wejdzie do 2.4.x. Bardziej prawdopodobna jest konwersja do szkieletu LSM (części, które są potrzebne) i włączenie do 2.5.x."
Gdzie indziej, H. Peter Anvin zaproponował utrzymywanie nowego drzewa na kernel.org a Michael z wdzięcznością się zgodził. H. Peter powiedział: "Wyślij mi, proszę, klucz GPG, nazwę użytkownika i krótki opis, co zamierzasz, na adres ftpadmin@kernel.org. Może zająć około tygodnia, zanim wszystko zostanie skonfigurowane."
10. Porównanie 2.4 z 2.2
2 Jan 2002 (7 posts) Archive Link: "Linux 2.4.17 vs 2.2.19 vs rml z nowym VM"
People: Brian Litzinger, Alan Cox, Rik van Riel
Brian Litzinger zgłosił swój raport na temat 2.4.17:
Chciałem powiedzieć, że od 2.4.17 z łatą wywłaszczającą jądro, Linux, przynajmniej w moim przypadku, zdaje się działać tak dobrze, jak 2.2.19, w stosunku do interaktywnego użycia i niezawodności.
2.4.17 cały czas ma problemy przy uruchamianiu aplikacji, które wymagają olbrzymich ilości pamięci, i które działają bez problemu na 2.2.19. (Serwery z 2GB RAM z aplikacjami wymagającymi ponad 3GB.)
Wypróbowałem łatę rmap-10 z nowym VM i, przy zwykłym obciążeniu mojej stacji roboczej, komputer za każdym razem się wieszał. Wydaje mi się, że ilość dostępnej pamięci dramatycznie spadała przed zwisem. Aplikacja, o której wspominałem, przechodziła przez różne dziwne stany.
Bez wątpienia łata z wywłaszczaniem i rmap-10 są niezgodne ze sobą, ale nie zamierzam porzucić walki z łatą wywłaszczającą jądro.
Tak, czy siak, 2.4.17 z wywłaszczaniem działa całkiem zacnie.
Alan Cox zdiagnozował:
Podejrzewam, że rmap-10 nie jest łatą wywłaszczającą. Jeśli masz czas/jesteś zainteresowany przetestuj obciążenie tylko z rmap10a (poprawione rmap10). To może dać ciekawe wnioski na temat, która łata psuje wszystko.
Podobnie, łaty zmniejszające opóźnienia, które zdają się dawać lepsze wyniki niż łaty wywłaszczające jądro, przypuszczalnie spowodują mniej problemów, ponieważ one, tak naprawdę, nie zmieniają semantyki systemu w ten sposób.
Rik van Riel uszczegółowił:
W rmap-10 jest głupi błąd logiczny, który naprawiłem w rmap-10a. Godzinę po opublikowaniu rmap-10, znalazł go Andrew Morton.
W wakeup_kswapd() procesy użytkownika zasypiają jeśli VM jest _bardzo_ zajęty *i* procesy użytkownika maja takie same opcje GFP, jak kswapd, tak aby mogły poczekać, aż kswapd wykona swoją pracę.
Powiedział, że wkrótce opublikuje rmap-11.
Gdzie indziej, Alan zauważył: "Wyniki testów, które widziałem umiejscawiają łaty zmiejszające opóźnienia przed łatami wywłaszczającymi względem jakości. Ponieważ poprawki likwidujące opóźnienia usuwają niektóre blokady, mogą być ciekawe dla kogoś, kto miałby czas na przeprowadzenie testów."
Sharon And Joy
Kernel Traffic is grateful to be developed on a computer donated by Professor Greg Benson and Professor Allan Cruse in the Department of Computer Science at the University of San Francisco. This is the same department that invented FlashMob Computing. Kernel Traffic is hosted by the generous folks at kernel.org. All pages on this site are copyright their original authors, and distributed under the terms of the GNU General Public License version 2.0. |