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
 

Kernel Traffic #163 For 2002/04/22

By Zack Brown

Translated By:  Paweł Kot

Table Of Contents

Mailing List Stats For This Week

We looked at 1133 posts in 4984K.

There were 397 different contributors. 178 posted more than once. 148 posted last week too.

The top posters of the week were:

1. Łaty nie-BitKeeperowe są preferowane przy rozwoju jądra

Sob, 6 kwi  - Sob, 13 kwi (13 posts) Archive Link: "Usuwamy błędy w ReiserFS. Część 3 z 6 (Proszę, zaaplikuj wszystkie 6)"

People: Linus TorvaldsLarry McVoy

Hans Reiser wysłał łatę wygenerowaną przez BitKeepera, Linus Torvalds odrzekł:

Nie używaj, proszę, łat bk; okazały się one zupełnie nieużyteczne.

Albo stwórz (kontrolowane) drzewo bk, z którego daje się wyciągać zmiany, albo użyj starych łat.

Larry McVoy zgodził się, że łaty BitKeepera nie będą działały w kilku standardowych okolicznościach i również polecił rozwiązanie Linusa. Opisał:

BK nie pozwoli Ci zaakcpeptować łaty jeśli otrzymujące repozytorium nie jest przodkiem łaty. Innymi słowy -- to nie zadziała.

bk clone bk://linux.bkbits.net/linux-2.5
<jakieś tam zmiany>
bk commit (lub bk citool) # tworzy changeset 1.800
<jakieś tam zmiany>
bk commit (lub bk citool) # tworzy changeset 1.801
 
# Teraz, jeśli chcesz wysłać drugą łatę Linusowi wykonujesz:
bk send -r+ - | mail linux-kernel@vger.kernel.org

Próby Linusa zaakceptowania łaty zakończą się niepowodzeniem, bo nie ma Twojego 1.800.

2. Stan obsługi HP ScanJet 2200c

Pon, 15 kwi (2 posts) Archive Link: "Obsługa HP scanjet 2200c"

Pablo Alcaraz spytał, czy HP ScanJet 2200c jest obsługiwany przez Linuksa, a Eric Weigle skierował go pod adres http://scanjet2200c.sourceforge.net/ i http://www.mostang.com/sane/.

3. Krótka dyskusja na temat wywłaszczania

15 kwi 2002 (3 posts) Archive Link: "[PATCH] 2.5: nie gubmy wywłaszczania"

People: Robert Love

Robert Love wysłał łatę i wyjaśnił:

Bieżący kod wywłaszczający jądro otwiera małe okno pomiędzy sprawdzeniem need_resched w schedule, a ustawieniem preempt_count na zero w preempt_schedule. Ponieważ to okno jest dość krótkie (kilka cykli), to wynikowy okres niewywłaszczalności może trwać aż do następnego tyknięcia zegara, ale tak naprawdę, to znacznie dłużej jeśli w międzyczasie założona zostanie blokada.

Ta łata sprawdza need_resched w preempt_schedule po ustawieniu preempt_count na zero, przed powrotem. Narzut jest zaniedbywalny, a jest arcyważny, aby nie stracić żadnej szansy na wywłaszczenie.

Wiedziony ciekawością Hugh Dickins spytał, czemuż to tak arcyważne było nie tracić żadnej szansy na wywłaszczenie. Robert odparł:

Z dwóch powodów:

  1. W 2.5 mamy model wywłaszczania jądra, który czyni je w pełni wywłaszczalnym, z zachowaniem blokad SMP i jeszcze kilku innych reguł. Bez tej łaty ten model nie jest zachowany i nie pozwala na wywłaszczenie, gdy tak naprawdę jest ono pełnoprawne.
  2. Jak już powiedziałem, może upłynąć chwila, zanim będziemy mogli ponownie wywłaszczyć. Jeśli założymy blokadę po powrocie ze schedule, a przez następnym przerwanie, mogą upłynąć dziesiątki (lub setki) milisekund zanim podniesiemy blokadę i będziemy mogli dokonać wywłaszczenia. Jeśli need_resched było ustawione w odpowiedzi na żądanie ważnej aplikacji czasu rzeczywistego, oczekiwanie może być szkodliwe. W każdym razie, obsługiwanie aplikacji, tak szybko, jak tylko mogą działać, jest celem wywłaszczalnego jądra.

Nie to arcyważne w sensie, że coś psujemy; raczej w sensie, że skoro pracujemy nad udostępnieniem bardzo efektywnego mechanizmu odpowiedzi i przetworzenia żądań dla aplikacji interaktywnych i działających w czasie rzeczywistym, więc _musimy_ odpowiadać im tak szybko, jak to możliwe.

Koniec wątku.

4. Najlepszy kompilator do wykorzystania w porcie Linuksa na TriCore

Wto, 16 kwi (2 posts) Archive Link: "Jądro 2.4.x i wersja gcc"

People: Yannis MitsosAlan Cox

Yannis Mitsos spytał:

Jestem członkiem małego zespołu, który próbuje przenieść Linuksa na procesor TriCore Infineona. Jedyną wersją gcc dostępną dla wzmiankowanego procesora jest 2.8.1. Z drugiej strony ten procesor nie zawiera MMU, więc używamy łaty uClinux dla jąder 2.4.x.

Zastanawiam się, czy używając gcc 2.8.1 będziemy w stanie uzyskać działające jądro 2.4.x. Zgodnie z /Documentation/Changes wymagane jest gcc 2.95.3...

Pomiędzy wersjami gcc 2.8.1 i 2.95.3 zostało dodanych kilka flag i opcji, ale czy są one wymagane dla WSZYSTKICH procesorów???

Alan Cox odpowiedział: "Dla wszystkich zapewne nie." Ale dodał: "gcc 2.95.3 to minimalna wersja wymagana dla procesorów x86. Większość problemów ze starymi kompilatorami występowała przy alokowaniu rejestrów, co jest wielkim problemem na x86, ale nie jest tak problematyczne w innych kompilatorach." Koniec wątku.

5. Status opieki i kodu ServeRAID

Wto, 16 kwi (11 posts) Archive Link: "[PATCH] poprawka na problemy z kompilacją sterownika ips"

People: Dave HansenAlan CoxLinus Torvalds

Dave Hansen wysłał łatę, która już od pewnego czasu krążyła po IBM-ie. Powiedział: "aplikuje się na 2.5.8 i sterownik ServeRAID działa z nią poprawnie. Bez niej sterownik się nie kompiluje." W póżniejszej wiadomości dodał:

W żaden sposób nie jestem związany z pisaniem tego sterownika. To duża firma :) Jestem nim zainteresowany, bo mam starą kartę ServeRAID w domu.

Wiem, że żaden z oryginalnych autorów nie pracuje nad poprawieniem tego.

Czy łata może zostać zaakceptowana jako tymczasowa pomoc, zanim dotychczasowi opiekunowie nie zdecydują się zaopiekować sterownikiem dla 2.5, czy też raczej chcemy zmusić autorów do przepisania sterowników, które nie używają nowego schematu DMA?

Alan Cox powiedział: "To nie jest tymczasowa pomoc, to błąd. Jakimś cudem będzie to działać na x86. Zdecydowanie lepiej pozostawić to zupełnie zepsute, dopóki nie zostanie naprawione." Ale zamykając wątek Linus Torvalds powiedział:

Mówiąc szczerze, to po kilku miesiącach, gdy sterownik był zepsuty i nikt nie spróbował go naprawić, to zdecydowanie będę chciał akceptować tymczasowe rozwiązania dla sterowników SCSI, nawet jeśli będą działać tylko na x86.

,,Nieakceptowalne'' oznacza, że zepsuty sterownik implikuje fakt, że ludzie nie mogą testować rzeczy, na których im zależy. Najwyraźniej nikomu nie zależy na sterowniku SCSI jako takim...

6. Reorganizacja drzewa źródeł jądra

Wto, 16 kwi - Sro, 17 kwi (11 posts) Archive Link: "[PATCH] podział architektury i386 na typy komputerów dla 2.5.8"

People: James BottomleyEric W. BiedermanPatrick Mochel

James Bottomley ogłosił małą reorganizację drzewa źródeł jądra. Powiedział:

Ta łata próbuje podzielić arch/i386 na katalogi specyficzne dla różnych komputerów (podobnie, jak to jest w arch/arm). Pomysł polega na oddzieleniu tych komputerów, które nie wyglądają jak zwykłe PC-ty (zwłaszcza z punktu widzenia SMP). W tej chwili wszystko co jest zrobione, to przenieśienie rzeczy związanych z visws do oddzielnego katalogu (arch/i386/visws). Wziąłem także kilka plików, które nie będą używane przez komputery SMP nie-PC (głównie związane z mpbios i ioapic) i umieściłem je w arch/i386/generic.

Łata posuwa się zacznie dalej niż visws potrzebuje, głównie ponieważ pozwala mi teraz na dodanie moich rzeczy związanych z voyagerem do oddzielnego katalogu arch/i386/voyager, który nie zakłóca wirtualnie głównego kodu. Obawiam się, że zostały jeszcze cztery definicje związane z VISWS w arch/i386/kernel/smpboot.c, ponieważ nie było dla mnie oczywiste jak w prosty sposób się ich pozbyć.

269k diff (tak duży ze względu na wiele przesunięć plików) jest pod

http://www.hansenpartnership.com/voyager/files/arch-split-2.5.8.diff

Udostępniłem także repozytorium bitkeepera z tą łatą:

http://linux-voyager.bkbits.net/arch-split-2.5

Nie zrobiłem nic związanego z drugą częścią reformowania i386/arch, która miałaby dzielić katalog PC wedle typów szyn, ale sądzę. że Patrick Mochel myśli nad tym.

Eric W. Biederman odrzekł:

Kilka komentarzy.

I oczywiście nie patrzysz na umożliwienie różnych implementacji firmware, ale ja to robię, więc jest w porządku. :)

Gdzie indziej Patrick Mochel podsumował swoją pracę:

Niekoniecznie typy szyn, ale blisko.

Mam trzy zbiory porządkowania katalogu arch/i386/kernel/:

Każdy z nich robi to samo w tych sterownikach: przenosi obsługę do podkatalogów i dzieli monolityczne pliki na moduły zależne od platformy.

Takie rozwiązanie ma kilka zalet:

Główną motywacją do tego był sterownik PCI, zwłaszcza z wieloma konfliktującymi zmianami, które sam widziałem i różnymi zmianami ACPI i NUMA. Chciałem coś takiego zrobić już od jakiegoś roku. Mniej więcej miesiąc temu, w końcu siadłem i zrobiłem.

Łaty są dostępne pod

http://kernel.org/pub/linux/kernel/people/mochel/patches/

Niestety, opieka nad tak znacznymi zmianami bardzo pożera czas i stoi w sprzeczności z innymi celami i ograniczeniami czasowymi. Tym, na czym mi naprawdę zależy do sterownik PCI. Miałem szansę przenieść go do 2.5.8 i to powinno działać w większości przypadków (chociaż testowałem to jedynie na jedno i dwuprocesorowych komputerach x86 bez obsługi ACPI).

Całe to porządkowanie procesorów jest do ~2.5.6 i najprawdopodobniej nie zaaplikuje się do obecnego drzewa. Jeśli ktoś chciałby przenieść te łaty, to konflikty są raczej oczywiste i łatwo naprawialne.

To samo tyczy się sterownika mtrr, chociaż jest dość zapuszczony (~1 miesiąc) i zapewne będzie generował więcej konfliktów.

Jeśli ktoś będzie poważnie zainteresowany, przeniosę to do ostatniego jądra i wyeksportuję drzewa BK.

7. Używamy BitKeepera i CVS przy rozwoju Framebuffera

Wto, 16 kwi - Sro, 17 kwi (16 posts) Archive Link: "Repozytorium Bitkeepera dla Fbdev"

People: M. R. BrownJames Simmons

James Simmons ogłosił, że stworzył repozytorium BitKeepera dla warstwy framebuffera i zaoferował dostęp osobom, które przyślą mu swoje klucze publiczne. M. R. Brown odpowiedział: "Powiedz proszę, że podstawowy rozwój framebuffera/urządzeń wejścia/konsoli pozostanie w drzewie CVS na SourceForge? BitKeeper nie nadaje się do tego (łatwiejszego, bardziej wydajnego) stylu rozwoju." Larry McVoy spytał, czemu M. R. uważał CVS za łatwiejszy i bardziej efektywny niż BitKeeper i przez jakiś czas kłócili się o to, a Roman Zippel co jakiś czas wtrącał, że to dyskusja nie na temat i powinni ją przenieść gdzie indziej. W końcu, po kilku dniach kłótni pomiędzy M. R. a Larrym, James powiedział: "Może odpowiem na pytanie, czy zamierzamy zrezygnować z CVS przy rozwoju projektu konsoli linuksa. Nie!! Powody nie mają nic wspólnego z polityką, czy tym, kto jest lepszy. Przyczyna tkwi w tym, że część osób chce dalej używać CVS i nie chce tracić czasu na uczenie się bitkeepera. To ich wybór. Nie chcę zmuszać nikogo do robienia czegoś, czego nie chce. Posiadanie zarówno bitkeepera, jak i CVS będzie korzystne dla wielu osób."

8. Problemy z użyciem wywłaszczania na systemach SMP w 2.5.8

Sro, 17 kwi - Czw, 18 kwi (3 posts) Archive Link: "2.5.8: zepsuty tandem wywłaszczanie + SMP ?"

People: Robert Love

Dipankar Sarma zgłosił, że jego 4 CPU 486 wiesza się podczas uruchamiania, jeśli zarówno SMP, jak i wywłaszczanie są wkompilowane w jądro. Robert Love wysłał łatę i wyjaśnił: "wszystkie moje testy wykonuję na SMP. Problem, który ujawnił się w 2.5.8-pre jest związany ze zmianami dokonanymi w kodzie migracji. Wyścig jest w kodzie migracji -- nie jestem pewien, czy to wina wywłaszczania jako takiego, ale załączona łata powinna to naprawić. Czeka w kolejce u Linusa do włączenia w następnej wersji." Dipankar wypróbował ją i zgłosił pełen sukces.

9. Ustawianie przywiązania do procesora dla procesu

Sro, 17 kwi - 17 kwi 2002 (2 posts) Archive Link: "przywiązywanie procesu do procesora"

People: Robert Love

Lee Chin spytał, jak spowodować, aby określony proces pozostawał cały czas na wybranym procesorze w systemie SMP, a Robert Love odpowiedział:

W 2.5 jest funkcja systemowa sched_setaffinity. Jest dość nowa, więc Twoje biblioteki jeszcze jej nie obsługują - popatrz na przykładowy kod i pliki nagłówkowe pod:

ftp://ftp.kernel.org/pub/linux/kernel/people/rml/cpu-affinity

W 2.4 nie ma jeszcze takiego interfejsu. Pod powyższym adresem możesz znaleźć interfejs do ustawiania i pobierania afiniczności oparty zarówno o proc, jak i o funkcję systemową.

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.

Mirror provided by HKMirror. Sponsored by Porno Verzameling and webcamsex