|
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 |
linux-kernel FAQ | zapisz się na linux-kernel | archiwa linux-kernel | kernelnotes.org | Nawigator po źródłach Linuksa LxR | Wszystkie jądra | Porty jądra Linuksa | Dokumentacja do jądra | Encyklopedia Gary-ego: jądro Linuksa | #kernelnewbies
Table Of Contents
| 1. | 26 Apr 2001 - 18 May 2001 | (91 posts) | Przeplot operacji SMP w ext2 |
| 2. | 9 May 2001 - 15 May 2001 | (14 posts) | Poważne problemy z ostatnimi jądrami 2.4 |
| 3. | 11 May 2001 - 16 May 2001 | (19 posts) | Polityka rozwoju LVM |
| 4. | 11 May 2001 - 17 May 2001 | (8 posts) | Poprawki dla Exar ST16C654 w stabilnej serii |
| 5. | 14 May 2001 - 21 May 2001 | (365 posts) | Numery urządzeń; sprzeczka developerów |
| 6. | 16 May 2001 | (21 posts) | Nowy rootfs dla 2.5 |
| 7. | 18 May 2001 | (1 post) | Dokumentacja do inita dla Linuksa na IA-32 |
| 8. | 18 May 2001 | (1 post) | JFS 0.3.2 jest dostępny |
| 9. | 19 May 2001 | (8 posts) | Stary błąd w konfiguracji; Dyskusja na temat CML2 |
Mailing List Stats For This Week
We looked at 1372 posts in 5102K.
There were 415 different contributors. 190 posted more than once. 161 posted last week too.
The top posters of the week were:
1. Przeplot operacji SMP w ext2
26 Apr 2001 - 18 May 2001 (91 posts) Archive Link: "[PATCH] Przeplot operacji SMP w ext2 - uszkodzenie metadanych."
People: Alexander Viro, Linus Torvalds
Alexander Viro zgłosił:
Ext2 wykonuje getblk+wait_on_buffer dla nowych bloków metadanych zanim je wyzeruje. Dla systemów jednoprocesorowych wszystko jest w porządku, ale w systemach SMP możemy mieć do czynienia z następującym przeplotem zdarzeń:
CPU1 CPU2 getblk zwraca niezablokowane i niezainicjalizowane bh
wait_on_buffer() nic nie robiczyta z urządzenia, blokuje je i rozpoczyna operacje We/Wy zerujemy. dane dyskowe nadpisują nasze zera zaznaczamy jako brudne
bdflush zapisuje stare dane (_nie_ zera) z powrotem na dysk.
Wynik: śmieci w bloku metadanych. Proponowane rozwiązanie: lock_buffer()/unlock_buffer() dookoła memset()/mark_buffer_uptodate() zamiast wait_on_buffer() przed nimi.
Andrea Arcangeli potwierdził istnienie przeplotu i zaczął się zastanawiać czy podobnie nie dzieje się w innych systemach plików. Chris Mason potwierdził jego przypuszczenie co do reiserfs; Chris dodał, że pracuje nad rozwiązaniem, ale chce się upewnić, że nie wprowadzi błędu do kodu balansującego.
Linus Torvalds włączył się do dyskusji, mówiąc że widzi przeplot, ale nie sądzi żeby taki kiedykolwiek mógł mieć miejsce. Problem wygląda dla niego na zupełnie nieistotny. Linus powiedział: "To nie tak, że nie zgadzam się z Twoją łatą (bo oczywiście lepiej jest poprawnie założyć blokadę), ale nie sądzę żeby to naprawdę był błąd." Dodał: "Wcześniej używaliśmy "breada()" do rzeczywistego odczytu danych z wyprzedzeniem, które mogło doprowadzić to takiego przeplotu, ale zrezygnowaliśmy z tego już jakiś czas temu. Czy czegoś nie dostrzegam?" Alexander zauważył, że zwykłe wykonanie polecenia 'dd' może spowodować taki przeplot. Jednak przyznał, że w tym szczególnym przypadku nie można nawet oczekiwać, żeby 'dd' wyprodukowało cokolwiek sensownego. Inny przykład nie przychodził mu do głowy, ale powiedział:
Przypuśćmy, że root.disks jest właścicielem /dev/hda1 i uprawnienia do /dev/hda są ustawione na 640. System plików jest zamontowany w trybie rw.
Proces foo należy do pfy.staff. PFY należy do grupy disks, ale nie ma uprawnień superużytkownika. Twierdzę, że PFY może spowodować uszkodzenie systemu plików na /dev/hda1.
W tej chwili foo _może_ spowodować takie uszkodzenie, nawet jeśli nie posiada praw do zapisu do urządzenia.
Moim zdaniem to jest nieprawidłowe zachowanie. Ale nie twierdzę, że to jest rzeczywiste zagrożenie. Nie twierdzą, że PFY nie jest idiotą ani że jego zachowanie ma jakiś sens. Uważam, że sytuacja, w której może doprowadzić do takie sytuacji nie posiadając praw do zapisu do urządzenia jest niedopuszczalna.
Andrea przyznał mu rację. Al i Andrea wymienili jeszcze parę maili, gdy Linus zauważył:
Uważam, że wszystkie te argumenty nie mają większego sensu. Robienie takich rzeczy jak zrzut działającego systemu plików jest głupie i niebezpieczne (moim moim zdaniem _w ogóle_ robienie zrzutu jest głupie i niebezpieczne, ale to temat na oddzielną dyskusję), i tak naprawdę nie ma powodów żeby otwierać urządzenie blokowe, podczas gdy jest ono zamontowane. Co ważniejsze, nie sądzę, aby ktokolwiek tak robił.
Fakt, że _można_ coś takiego zrobić, powoduje poprawność łaty i zgadzam się z Alem co do kwestii "braku niespodzianki". Łatę już zaaplikowałem. Ale nikt nie powinien nigdy robić rzeczy, które mogą spowodować takie problemy.
Dyskusja była kontynuowana, podano kilka sugestii w jaki sposób można by uzyskać wymagany przeplot operacji; niektóre z nich powodowały wybuch śmiechu po obu stronach.
2. Poważne problemy z ostatnimi jądrami 2.4
9 May 2001 - 15 May 2001 (14 posts) Archive Link: "Jądro 2.4.4 zawiesza się bez powodu"
People: Vincent Stemen, Alan Cox
Jacky Liu co kilka dni notował losowe zawieszenia swojej maszyny działającej z jądrem 2.4.4; Vincent Stemen potwierdził takie zachowanie:
Mam identyczne problemy od wersji 2.4.0. Mimo że sytuacja nieco się poprawiła w jądrze 2.4.4, to system dalej się zawiesza. Wygląda na to, że problem jest związany z zarządzaniem pamięcią i/lub swapem i występuje głównie na maszynach, które mają powyżej 128MB RAM-u. Niestety, nie przeprowadziłem dokładnych testów, żeby potwierdzić tę tezę.
Obserwowałem zużycie pamięci i zauważyłem, że coraz więcej swapu jest zużywane i nie jest on w ogóle zwalniany. Mogę zabić większość dużych aplikacji, takich jak netscape czy xemacs, a wielkość dostępnej pamięci i swapu wcale się nie zwiększa. Gdy po paru dniach swap się zapełnia, maszyna zawiesza się.
Gdy wyłączam swap zanim się wypełni, żeby go oczyścić i potem ponownie go włączam, system działa stabilnie.
Moja maszyna to AMD K6-400 z 256 MB RAM-u, ale na innych maszynach ten problem też występuje.
Alan Cox odpowiedział tajemniczo, "Obsługa swapu w 2.4 w chwili obecnej mocno kuleje." Dodał: "Mogę udostępnić małą łatę, która zapobiegnie zwisom systemu i zabije procesy, którym skończy się pamięć, ale niewątpliwie nie jest to rozwiązanie problemu." Później dodał jeszcze: "Sam zacząłem używać ostatnio 2.2 ze względu właśnie na obsługę pamięci wirtualnej." O rany!
3. Polityka rozwoju LVM
11 May 2001 - 16 May 2001 (19 posts) Archive Link: "Decycja o wypuszczeniu LVM w wersji 1.0"
People: Heinz J. Mauelshagen, Jeff Garzik
Heinz J. Mauelshagen wyjaśnił:
Jak pewnie większość z was wie, kilka tygodni temu zebraliśmy baty za naszą politykę dotyczącą tworzenia łat na jądro Linuksa, która spowodowała różnice pomiędzy kodem LVM zawartym w oficjalnym wydaniu jądra, a tym, które ostatnio wypuściliśmy.
Aby zapobiec tym różnicom, będziemy udostępniać mniejsze łaty, ale częściej. Już zaczęliśmy to robić publikując zbiór około 50 niezbędnych łat.
Mimo uprzejmości i pomocy Alana Coxa, upłynie kilka tygodni zanim uda się włączyć cały kod do jądra.
Powstaje problem. Próby uniknięcia dalszych niezgodności pomiędzy naszą wersją LVM, a tą z jądra Linuksa spowoduje opóźnienie w ukazaniu się LVM 1.0, co jest nieakceptowalne przez użytkowników LVM.
W tej sytuacji, chciałbym poznać wasze zdanie w kwestii, czy jest do zaakceptowania, wypuścić wersję 1.0, *zanim* wszystkie łaty z 1.0 zostaną zaaplikowane do jądra (zakładając, że będziemy je udostępniać tak jak dotychczas)?
Będziemy czekać na odpowiedzi przez kilka dni i potem prześlemy naszą decyzję na listę.
Jeff Garzik odpowiedział: " Czy wysyłacie wszystkie łaty za jednym razem (50 e-maili do Linusa na raz), czy przesyłacie stopniowo, po kilka jednorazowo? Mogłoby być szybciej, gdybyście wysłali dużą paczkę (ale niekoniecznie 50), zaznaczając w każdym mailu, po opisie łaty, że do jego działania są konieczne łaty C, F i H, które też zostały przesłane. W takim przypadku, Linus mógłby zaaplikować 8 z 10 łat, i wtedy po synchronizacji, cykl zaczął by się od nowa."
4. Poprawki dla Exar ST16C654 w stabilnej serii
11 May 2001 - 17 May 2001 (8 posts) Archive Link: "[PATCH] błąd w pliku drivers/char/serial.c przy wykrywaniu ST16C654"
People: Val Henson
Val Henson przysłał łatę i wyjaśnił:
Ta łata poprawia błąd w funkcji autoconfig_startech_uarts z pliku serial.c Problem polega na tym, aby wykryć XR16C850 i XR16C854 do rejestrów szybkości przesyłania danych zapisywane są zera. To powoduje, że Exar ST16C654 głupieje. Zapisanie i odtworzenie rejestrów szybkości przesyłu danych rozwiązuje problem.
Zakładam, że wykrywanie XR16C85[04] działa poprawnie i nie wymaga odtwarzania oryginalnej wartości szybkości przesyłu. Jeśli się mylę, poprawię łatę.
Stuart MacDonald, odpowiedzialny za ten kod, poprosił o więcej wyjaśnień na temat łaty. W szczególności chodziło o numery wersji sterownika portu szeregowego, jądra i dystrybucji, których Val używał gdy jego Exar ,,zgłupiał''. Łata była raczej w porządku, ale chciał zrozumieć, co właściwie się stało. Val odpowiedział, że używał sterownika portu szeregowego w wersji 5.05a z 20.03.2001 z włączonymi opcjami MANY_PORTS, SHARE_IRQ i SERIAL_PCI i jądra 2.4.5-pre1. Mimo dalszej wymiany maili, Stuart nie był w stanie wygenerować żadnego błędu.
5. Numery urządzeń; sprzeczka developerów
14 May 2001 - 21 May 2001 (365 posts) Archive Link: "LANANA: To Pending Device Number Registrants"
People: H. Peter Anvin, Jeff Garzik, Alan Cox, Richard Gooch, Linus Torvalds, Rik van Riel
H. Peter Anvin wyjaśnił:
Linus Torvalds wystosował moratorium na temat przypisywania numerów nowym urządzeniom. Linus ma nadzieję, że uda się dojść do nowej i lepszej metody zarządzania numerami urządzeń.
Alan Cox poprosił mnie abym zechciał zająć się bazą w jego gałęzi -ac. Zgodziłem się na tę propozycję, więc przestaję pracować nad bazą z jąder Linusa. Teraz pracuję nad -ac i bądźcie cierpliwi do czasu aż skończę z backlogiem.
Zauważcie proszę, że to nie moja decyzja (tak naprawdę to mam co do niej duże obawy). W szczególności, będę nadal nadzorował przestrzeń nazw w /dev.
Jeff Garzik odpowiedział
Oto moja propozycja rozwiązania.
Przebrnąłem już przez problemy ze sterownikiem sieciowym i chciałbym wypuścić aktualną jego wersję. Do tego potrzebuję numeru dla urządzenia. Ponieważ lista numerów urządzeń jest już zamknięta, zastanawiałem się, czy takie rozwiązanie mogłoby zadziałać:
Rejestruję urządzenie wykorzystując istniejące API i dostaję dynamicznie przydzielony numer. Następnie eksportuję mały ramfs, w którym mam wszystkie węzły urządzeń. Urządzenie /dev/snap/0, zamontowane pod /dev/snap byłoby pierwszym urządzeniem blokowym dla dynamicznie przypisanego numeru snapa. (IIRC, Al Viro ma szkielet kodu dla takiego systemu plików)
To rozwiązanie
przełączenie się na devfs, to nie chwila-moment, i aby devfsd stał się naprawdę użyteczny.
H. Peter odpowiedział, że propozycja Jeffa "ani nie daje możliwości zarządzania uprawnieniami, ani nie tworzy sensownej przestrzeni nazw (przesuwa zbyt dużo szczegółów implementacyjnych do interfejsu -- w szczególności, sterownik staje się częścią przestrzeni nazw, a urządzenia wędrują pomiędzy sterownikami.)" Ale Jeff odpowiedział, że tym się zajmują devfs i devfsd. Z kolei, Alan Cox powiedział: "Jakiś czas temu Al Viro zgłaszał problemy z devfsd. Nie sądzę, żeby Richard poprawił to od tamtej pory. Jaki jest teraz status tego?" Richard Gooch odpowiedział: " Alowi chodziło o devfs, a nie devfs. Na szczęście problemy, które zgłaszał w zasadzie nie mają prawa wystąpić, o ile ich nie próbujemy specjalnie sprokurować. W przeciwnym razie byłbym zasypany bug reportami :-/" . Dodał jeszcze: "Zbliżamy się do końca prac. Ostatni weekend był jednym z niewielu w ciągu ostatnich paru miesięcy, gdy mogłem bez przeszkód hakować Linuksa i nie miałem innych naprawdę pilnych rzeczy do zrobienia. "
W tym miejscu Linus wznowił dyskusję na temat zwiększenia rozmiaru dev_t, mówiąc:
Nawet jeśli dev_t będzie miało 32 bity (albo 64 bity), to NIE ułatwi do zarządzania uprawnieniami czy czymkowiek w żaden sposób. Popatrzcie na bałagan, który jest w /dev w tej chwili. Pomyślcie, jak by to wyglądało rząd wielkości gorzej.
Duże numery urządzeń _nie_ są rozwiązaniem. Zaakceptuję 32-bitowe numery, ale nie większe i więcej już _nie_ zaakceptuję podejścia "zarządzania ręcznego". Trochę upłynęło czasu zanim zdecydowałem się powiedzieć "Nie". Ale powiedziałem. Jeśli nie możecie zarządzać urządzeniem automatycznie przy pomocy skryptu, z powodu swojego lenistwa, nie będziecie mieli przypisanego numeru urządzenia.
Koniec dyskusji.
Rik van Riel napisał w odpowiedzi na ostatnie pytanie:
Zastanawiałem się czy pracować zarówno nad jądrami z serii -ac jak i Linusa, ale to jest dobry argument, żeby pozostać przy -ac i ignorować gałąź Linusa.
Zobaczymy co będzie...
Alan Cox odpowiedział:
Tę decyzję podejmie czas. Linus dał nam możliwość zabrania głosu. Rzeczą, na którą się na pewno nie zgodzę jest wykorzystanie niezgodności na temat kilku drobiazgów implementacyjnych, aby usprawiedliwić większe różnice pomiędzy oboma gałęziami jądra.
Więc tak - -ac może obsługiwać statyczne numery urządzeń, ale całą resztę chcę mieć tak zgodną z gałęzią Linusa, jak tylko się da. Na pewno nie będę ignorował jego linii.
Rik odpowiedział: "Zgoda. Jednakże, jeśli nie będę w stanie używać jądra Linusa bez devfs, to kod VM będzie przetestowany tylko na jądrach -ac..."
Alan także odpowiedział bezpośrednio Linusowi na temat numerów urządzeń: "jestem przekonany, że w tym przypadku nie masz racji. I jestem przygotowany na pozostawienie w serii -ac dotychczasowy interfejs do urządzeń." Dodał jeszcze, że nie podoba mu się ten Linusowy "koniec dyskusji". Powiedział również (aczkolwiek nieco później), że Linus popełnia ten sam błąd, jaki zrobili developerzy Plan9 OS-a -- zdaniem Alana, pięknego systemu, ale ze znikomym odsetkiem użytkowników z powodu problemów ze zgodnością. Nie zrobiło to żadnego wrażenia na Linusie, który powiedział: "Wiem co wiem. Pozwalałem na istnienie tego bałaganu zbyt długo. Jeśli usunięcie tego bałaganu musi być bolesne, to niech będzie. To musi zostać poprawione, nawet jeśli przygaśnie nieco blask mojej chwały. Nie mam nic przeciwko."
Dalszy ciąg długiej dyskusji dotyczył tego, jak najlepiej obsługiwać numery urządzeń, devfs i kompatybilności pomiędzy oboma podejściami.
6. Nowy rootfs dla 2.5
16 May 2001 (21 posts) Archive Link: "[PATCH] rootfs (część 1)"
People: Alexander Viro
Alexander Viro wysłał łatę z komentarzem:
Linus, łata to pierwsza część nowego kodu dla rootfs. Próbowałem aby była jak najmniejsza - jedyne co robi, to dodanie bezwzględnego korzenia w ramfs i niezbędnych zmian dla mount_root/change_root/sys_pivot_root i follow_dotdot. Prawdziwy korzeń montowany jest na górze ,,bezwzględnego''.
Bardziej interesujące rzeczy znajdują się w następnych częściach. Gdy już mamy rootfs, możemy pozbyć się większości śmieci z fs/super.c dotyczących montowania prawdziwego korzenia i przechodzenia do niego po initrd. W szczególności możemy pozbyć się flagi umount_root w do_umount i kill_super(), co pozwoli na bardziej klarowną obsługę montowania vfs. Postaram się podesłać tę część w małych i czytelnych kawałkach.
Jest to przezroczyste dla przestrzeni użytkownika - jedynym widzialnym efektem jest dodatkowa linijka w /proc/mounts. Co więcej, jest to przezroczyste dla jądra - jedyne funkcje, które może czekać zmiana to te, które wykonują pierwsze montowanie.
Być może lepiej by było gdyby jedna rzecz była wykonywana nieco inaczej - ponieważ potrzebujemy rootfs przy butowaniu, zadeklarowałem w pliku fs/Config.in CONFIG_RAMFS jako define_bool CONFIG_RAMFS y. Jeśli ramfs urośnie (tzn. osiągnie granicę zasobów z łat zaaplikowanych w -ac), może będzie lepiej jeśli zaszyjemy minimalny wariant w jądrze (nazywając go rootfs) i zmienimy ramfs tak, żeby używał metod rootfs. Ale ponieważ jest to odrębna kwestia, zdecydowałem się na razie zrobić prostszą wersję.
Linus Torvalds i Alan Cox zgodzili się, że ta łata powinna być zaaplikowana dopiero w serii 2.5, ale Linus dodał, że patch jako taki wygląda OK. Alexander uważał, że łata jest jednak na tyle lokalna, że można ją dołączyć jeszcze w serii 2.4, ale z drugiej strony nie odczuwał silnej potrzeby. Później dodał:
Uważam, że łata się nadaje dla 2.4, ale ja oczywiście nie jestem obiektywny (głównie dla tego, że wiem jak dużo kodu będzie można oczyścić zachowując zgodność, włączając w to binarną zgodność na poziomie jądra). W każdym razie decyzję pozostawiam wam.
Dalej nastąpiła krótka techniczna dyskusja nad zawartością łaty i wątek się zakończył.
7. Dokumentacja do inita dla Linuksa na IA-32
18 May 2001 (1 post) Archive Link: "[announce] Linux 2.4 x86 init."
People: Randy Dunlap
Randy Dunlap ogłosił:
Udokumentowałem procedurę inicjalizującą jądro Linuksa na platformy x86/i386/IA-32. Dokumentacja jest dość pokaźnych rozmiarów, więc być może jest zbyt szczegółowa i będę musiał część materiału wyrzucić jeśli zajdzie taka potrzeba.
Komentarze, reakcje, poprawki i uzupełnienia są mile widziane. Jak napisałem we wstępie, mam nadzieję, że części z Was (czy też raczej nas) dokumentacja się przyda.
Dokumentację można obejrzeć pod adresem http://rddunlap.home.att.net/linit/lin240_init_x86.html
Nie było odpowiedzi.
8. JFS 0.3.2 jest dostępny
18 May 2001 (1 post) Archive Link: "Journaled File System (JFS) w wersji 0.3.2 jest już dostępny"
People: Steve Best
Steve Best ogłosił:
Od dziś jest dostępna wersja 0.3.2 JFS.
Wersja z 18 maja 2001 (jfs-0.3.2-patch.tar.gz) zawiera poprawki do systemu plików i jego programów użytkowych.
Zmiany w wersji 0.3.2
Więcej szczegółów na temat poprawek w README.
Nie było odpowiedzi.
9. Stary błąd w konfiguracji; Dyskusja na temat CML2
19 May 2001 (8 posts) Archive Link: "Stary jak świat błąd w plikach konfiguracyjnych na architektury m68k, sparc i sparc64"
People: Eric S. Raymond, John Levon, Mike Galbraith, Benedict Bridgwater, Miles Lane, Keith Ownes
Eric S. Raymond wysłał łatę i napisał:
Ten błąd bezwarunkowo deaktywuje pytanie konfiguracyjne -- jest to tak stary błąd, że rozpropagował się na pliki konfiguracyjne do trzech portów, niezauważony przez żadną z osób dokonujących przeniesienia.
Taki błąd nie miałby prawa zdarzyć się w CML2, ponieważ kompilator zgłosiłby ostrzeżenie o niezdefiniowanym symbolu BLK_DEV_ST. Mam wielką ochotę wygłosić sarkastyczny komentarz w kierunku ludzi, którzy cały czas uważają, że CML jest zupełnie zbędny. Ale się powstrzymam. Tym razem.
John Levon dodał: "ten błąd istniał początkowo również w i386. Zauważyłem go i poprawiłem, ale nawet nie pomyślałem o innych architekturach." Mike Galbraith zasugerował: " Hmm.. jeśli ten błąd jest _aż tak stary_ i nikt go nie zauważył, być może nadeszła pora żeby usunąć całkowicie zbędną opcję?" Nikt mu na to pytanie nie odpowiedział, ale Benedict Bridgwater sarkastycznie zaoponował:
Zatem niedociągnięcia w narzędziach dla CML1 usprawiedliwiają powstanie CML2?
Zapewne następny znaleziony błąd w interpreterze Pythona 2 zaowocuje napisaniem CML3 w FORTRANIE.
Miles Lane próbował wyjaśnić Benedictowi: "IIRC, Eric zaczął rozwijać pomysł CML2 ponad rok temu, udostępniając kawałek kodu i prosząc o opinie. Przez większość czasu pomiędzy developerami jądra była zgoda, że jest dużo poważnych problemów z CML1, w związku z czym spisali go na straty. Jest wiele rzeczy nieosiągalnych w CML1, które z łatwością można zrobić w CML2. Nie sądzę, żeby Eric chciał powiedzieć, że znalezienie przedpotopowego błędu usprawiedliwia migrację do CML2. Jest wiele innych dobrych powodów. Być może CML2 nie jest idealnym rozwiązaniem, ale właśnie on był rozwijany przez ostatni rok, przez większość developerów jądra. Wyśmiewanie CML2 w tej chwili jest poniżej wszelkiej krytyki. Lepiej by było, gdybyś pomógł Ericowi w rozwoju CML2, bo jest już raczej przesądzone, że będzie on użyty w serii jądra 2.5." Ale Benedict nie zgodził się: "Być może powstanie CML2 jako takiego jest usprawiedliwione (ale na pewno się ze względu na ułomności narzędzi CML1!), ale nie ma powodu, dla którego narzędzia CML2 nie miałyby obsługiwać *nadzbioru* istniejącej funkcjonalności. Oferowanie interfejsu dla ,,cioci Kloci'' nie ma żadnego sensu." Keith Owens nie wytrzymał i zbeształ Benedicta: "Ile razy można powtarzać? CML2 będzie przystosowany zarówno do cioci Kloci (tryb dla początkujących), niestandardowych konfiguracji sprzętu (tryb dla zaawansowanych) jak i Linusa (vi .config, make oldconfig). Po prostu wybierzesz poziom zaawansowania, jaki chcesz." Koniec wątku.
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. |