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 #148 For 31 Dec 2001

By Zack Brown

Translated By:  Jakub Jankowski  and  Tomasz Torcz

Table Of Contents

Mailing List Stats For This Week

We looked at 1160 posts in 4823K.

There were 434 different contributors. 210 posted more than once. 135 posted last week too.

The top posters of the week were:

1. Microsoft patentuje możliwość załadowania Zaufanego Systemu Operacyjnego na Zaufany CPU

12 Dec 2001 - 21 Dec 2001 (22 posts) Archive Link: "[OT] DRM OS"

People: James SimmonsAndre HedrickAlan CoxDave JonesAaron LehmannH. Peter AnvinMarco Ermini

James Simmons napisał:

Microsoft opatentował możliwość załadowania Zaufanego Systemu Operacyjnego do Zaufanej CPU. System Operacyjny uniemożliwia niezaufanym aplikacjom dostęp do Danych Zarządzania Prawami Autorskimi.

http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=/netahtml/search-adv.htm&r=1&f=G&l=50&d= CR99&S1=5,892,900.UREF.&OS=ref/5,892,900&RS=REF/5,892,900

Andre Hedrick odpisał:

Ostrzegałem wszystkich, że coś takiego się zbliża. To jest ich metoda na zabiezpieczenie treści i spowoduje to skażenie sprzętu. Następną rzeczą, która się pojawi, będzie wymóg sprzętowego szyfrowania Komunikacji Międzyprocesowej (IPC).

CPU(crypto)<->Pamięć(crypto)<->Bufor Ramki(crypto)
ata(clean)<->kontroler dysku(crypto)<->Pamięć(crypto)<->CPU(crypto)
scsi(crypto)<->kontroler dysku(crypto)<->Pamięć(crypto)<->CPU(crypto)
CPU(crypto)<->Mostek(crypto)<->Pamięć(crypto)

Poczekajcie, a zobaczycie!

Aaron Lehmann zapytał, czemu szyfrowanie miałoby pomóc, a Alan Cox odpowiedział:

Żebyś nie mógł podsłuchać danych w jakimkolwiek miejscu.

Pomyśl:

zaszyfrowana muzyka poprzez szyfrujący kontroler audio dostaje się do głośników, które odszyfrowują i dodają ,,znak wodny''

zaszyfrowane video rozszyfrowane i zabezpieczone przez kodowanie Macrovision + znak wodny tylko w buforach, do których CPU nie ma dostępu

wejście audio, które ma obowiązkowe sprawdzanie ,,znaków wodnych'' i nie nagra materiału nimi oznaczonego.

To coś, o czym śnią ci ludzie. Chcieliby także, aby OS sprawdzał ,,podejrzany'' materiał i dzwonił do stróżów prawa oraz, aby miał obowiązkową opcję zdalnego wyłączenia twojego kompa.

(a jeśli przeczytałeś umowę licencyjną MS media playera wiesz, że każdy, kto się na nią zgodził, podpisał się pod powyższym)

James obwieścił nadejście końca wolnego świata, a Andre powiedział: "Minął prawie rok odkąd świat dowiedział się o tym spisku, ale wszyscy ignorowali moje komentarze, kiedy ktoś mnie o to pytał. Teraz jest za późno na bycie przejętym. To już się stało. Infrastruktura już została stworzona, czekamy tylko na pojawienie się sprzętu nowej generacji."

Gdzie indziej Aaron zasugerował, że Linux może obejść te zabezpieczenia dzięki rozpracowaniu ich działania i implementacji programowej. Ale Dave Jones zauważył: "Pamiętasz DMCA? Pamiętasz SSSCA? To, co proponujesz, jest kwalifikowane jako ,,Obejście mechanizmów kontroli dostępu''." Aaron wypiął się na DMCA mówiąc: " Oglądam DVD dzięki DeCSS. Chodźcie i weźcie mnie." Powiedział, że duża liczba ludzi obchodzi prawo i nie ma sposobu, aby to zatrzymać. Dave odpowiedział:

Proponuję Ci ponownie zapoznać się z tym, co się stało twórcy DeCSS, bo widocznie zapomniałeś.

Mimo, że łapanie każdego użytkownika takich rzeczy, nie jest praktuczne dla władzy, istnieje wiele przykładów ścigania twórców i dystrybutorów takich technologii.

W hipotetycznym scenariuszu, w którym mielibyśmy sterowniki dźwiękowe pozwalające na ominięcie znakowania i podobnych (lub nawet w przypadku niezaimplementowania technologii uznanych za ,,konieczne''), kernel.org stałoby się dystrybutorem ,,programów do obchodzenia mechanizmów kontroli dostępu''.

Zadziwiające, kilka dni minęło od uwolnienienia Skylarova, a ludzie już zapominają, że to bardzo poważny problem.

H. Peter Anvin napisał:

Kto zapomina? Najstraszniejsze jest, że ten korporacyjny faszyzm jest polityczną rzeczywistością w Stanach (które z oczywistych względów bardzo się starają wyeksportować go do reszty świata). Zauważ, że SSSCA nie upadło z powodu jakichkolwiek zmartwień o wolność, ale dlatego, że Microsoft i Intel nie chcą, aby rząd mówił im co mają robić.

I nie mówię tego, ot tak sobie. Uważam, że Stany Zjednoczone nie mogą być dłużej uznawane za demokrację, ale raczej za plutokrację.

Marco Ermini również odpowiedział Aaronowi: " może nie zostaniesz złapany w zaciszu swojego pokoju. Ale rozumiem, że możliwość, aby używany na całym świece OS, jakim jest Linux, proponował każdemu użytkownikowi łamanie prawa w zaciszu swojego pokoju, nie jest do zaakceptowania. Mogę czuć się bezpiecznie w moim własnym pokoju i mogę używać tych narzędzi, jeśli jestem w stanie, ale nie mogę proponować nikomu ich używania. O to tu chodzi."

2. Stan hotpluggingu procesorów w 2.5

13 Dec 2001 - 22 Dec 2001 (8 posts) Archive Link: "[ANNOUNCE] łata HotPlug CPU na 2.5.0"

People: Kimio SuganumaPavel MachekDave Jones

Kimio Suganuma ogłosił:

Dostępna jest łata Hotplug CPU dla jądra 2.5.0.

http://sourceforge.net/projects/lhcs/

Działa na architekturach s390, s390x, x86, oraz ia64. Po pewnych modyfikacjach może być również zaaplikowana na 2.4.16.

Wyjęcie CPU
echo 0 > /proc/sys/kernel/cpu/<id>/online

Włożenie CPU
echo 1 > /proc/sys/kernel/cpu/<id>/online

Dla ia64, liczba procesorów, które mają być zainicjalizowane, może być podana jako opcja ,,initcpus=<liczba>'' przy elilo. Używając tej opcji można przetestować dokładanie procesorów ,,na gorąco'', bez konieczności posiadania sprzętu do tego przystosowanego.

Pavel Machek polecił tę łatę, mówiąc: "Takie łaty są niezbędne do obsługi stanu uśpienia ACPI S3/S4. Dobrze byłoby je wkrótce zaaplikować." Andrew Grover poprosił o więcej wyjaśnień i Pavel kontynuował: "Jeśli zamierzasz użyć uśpienia S4, powinieneś upewnić się, iż żaden inny procesor nie modyfikuje Twoich danych. Najłatwiej jest to osiągnąć poprzez wyłączenie tych procesorów (nie widzę innych dobrych rozwiązań). Dla S3 już konieczność zapamiętania stanu jednego procesora jest nieciekawa, konieczność zapamiętania stanu ośmiu byłaby zła, więc wyłączenie ich wydaje się być również wygodne."

W innym miejscu Russell King zasugerował Kimio używanie /proc/sys/cpu/*/ tak, aby całą alokację CPU mieć w spójnym miejscu. Dave Jones wyjaśnił również: "Obecne sysctle w /proc/sys/cpu/ zostały dodane jako część pracy Russella -- skalowania częstotliwości cpu. W tej chwili, dołączone są tylko bity specyficzne dla ARM. W kolejce do dołączenia czekają standardowe bity i bity x86. Część tej pracy, dotycząca x86, używa tego samego szkieletu i została wykonana przeze mnie i Arjana van de Vena. Jest już również prawie gotowa do dołączenia."

3. Podsumowanie zmian API w 2.5

17 Dec 2001 - 21 Dec 2001 (6 posts) Archive Link: "zmiany API w 2.5.1"

People: Andreas BombeRandy Dunlap

Andreas Bombe napisał:

Jednym z problemów przy bieżącym sposobie rozwijania jądra jest to, że, poza wątkami na lkml, w których są rozwijane (o ile w ogóle są takie wątki), nowe API nie są nigdzie podsumowane. Może więc istnieć sobie jakaś wspaniała, nowa funkcja która upraszcza coś w Twoim sterowniku, ale Ty o tym nie wiesz i przypadkiem trafiasz na nią dużo później (np. po 50 wydaniach jądra) i wtedy żałujesz, że nie znałeś jej wcześniej.

Ktoś powinien zatem zbierać zmiany i wysyłać podsumowania na linux-kernel, co byłoby bardzo przydatne...

[Cisza, gdzieś daleko na klawiaturze wystukiwane jest "Przyjmuję Twoje zgłoszenie jako ochotn...."]

... więc postaram się samemu robić to dla serii 2.5.

Zebrałem zmiany API w 2.5.1 i podsumowałem poniżej. Przeczytałem tylko wszystkie pliki *.h z łatki, więc mogłem coś pomylić (na przykład, nie zauważyć, że coś jest po prostu przenoszone z miejsca na miejsce, a nie jest czymś nowym). Nie wiem także zbyt wiele o większości obszarów, których podsumowanie dotyczy, więc proszę o poprawki.

Te podsumowania nie zastąpią dokumentacji, z wyjątkiem przypadków, gdy jest to krótkie i proste. Jeśli zajdą jakieś duże zmiany, nie opiszę każdego detalu (po prostu zaznaczę, że coś się zmieniło, możesz przeczytać źródła samodzielnie). Będę wymieniał zmiany globalne, albo chociaż odnoszące się do całego podsystemu.

Znajdą się tu również rzeczy dość szeroko omawianie na linux-kernel, zatem dobrze znane, ale te podsumowania mają również służyć za odnośniki (,,kiedy co zostało wprowadzone'') w połączeniu z changelogami jądra dla tych, którzy zainteresują się 2.5 później (tak, będę przechowywał wszystkie podsumowania na stronie, kiedy już zrobię kilka).

Oto one:

include/linux/types.h:

wprowadzono typedef sector_t dla oznaczenia liczby sektorów urządzenia blokowego, co umożliwia opcjonalną zmianę jego wielkości.

include/linux/cache.h:

Nowe makro __cacheline_aligned_in_smp, które rozwija się do __cacheline_aligned w przypadku SMP i do niczego w UP.

include/linux/kernel.h:

Nowe makro BUG_ON(warunek), które równe jest
if (warunek) BUG();

Warunek jest dodatkowo oznaczany jako ,,mało prawdopodobny'', co daje lepszą optymalizację z nowszymi gcc, dodatkowo zmniejszając liczbę znaków do wpisania (i jeśli uaktualnisz swój kod dzisiaj, dorzucimy ci za darmo ten oto zestaw noży kuchennych, które pozostaną ostre jak brzytwa na zawsze...)

include/linux/genhd.h:

wprowadzanie get_start_sect() i get_nr_sects() na kdev_t.

include/linux/mempool.h (nowy):

Wprowadzenie zasobów pamięci buforowej. ,,Te zasoby są używane głównie do gwarantowanej, wolnej od możliwości blokady alokacji pamięci w czasie ekstremalnych obciążeń VM.''

include/linux/bio.h (nowy):
include/linux/blkdev.h:
include/linux/fs.h:
include/linux/highmem.h:

Wprowadzenie nowej warstwy WE/WY dla urządzeń blokowych (bio).

include/linux/device.h (nowy):
include/linux/driverfs_fs.h (nowy):

Wprowadzenie scentralizowanego modelu sterowników.

drivers/scsi/hosts.h:

Scsi_Host_Template i Scsi_Host zawierają nową flagę highmem_io, a flaga use_new_eh_code została usunięta wraz ze starymi interfejsami do obsługi błędów.

drivers/scsi/scsi.h:

Nowe funkcje alokacji list sg -- scsi_alloc_sgtable() i scsi_free_sgtable(). Zmiana nazwy funkcji initialize_merge_fn() na scsi_initialize_merge_fn(). Usunięcie recount_segments(), dodanie scsi_init_io().

drivers/usb/hid.h:

Dodanie definicji klas HID i funkcji.

include/linux/usb.h:

Bardzo wiele zmian. Jeszcze ich nie rozpracowałem.

Randy Dunlap dodał: "Nie zobaczysz podsumowań propozycji lub zmian wynikłych w wyniku dyskusji na IRC (:, chociaż linux-kernel (lista mailingowa) zawiera _niektóre_ z nich. Odnośniki do tych, o których wiem (dla 2.5.x), znajdziesz pod adresem http://www.osdl.org/archive/rddunlap/linux-port-25x.html" .

Później, Andreas wysłał poprawioną wersję swojej listy:

ZMIANY OGóLNE:

include/linux/cache.h:

Nowe makro __cacheline_aligned_in_smp, które rozwija się do __cacheline_aligned w przypadku SMP i do niczego w UP.

include/linux/kernel.h:

Nowe makro BUG_ON(warunek), które równe jest
if (warunek) BUG();

Warunek jest dodatkowo oznaczany jako ,,mało prawdopodobny'', co daje lepszą optymalizację z nowszymi gcc, dodatkowo zmniejszając liczbę znaków do wpisania (i jeśli uaktualnisz swój kod dzisiaj, dorzucimy ci za darmo ten oto zestaw noży kuchennych, które pozostaną ostre jak brzytwa na zawsze...)

include/linux/mempool.h (nowy):

Wprowadzenie zasobów pamięci buforowej. ,,Te zasoby są używane głównie do gwarantowanej, wolnej od możliwości blokady alokacji pamięci w czasie ekstremalnych obciążeń VM.''

include/linux/device.h (nowy):
include/linux/driverfs_fs.h (nowy):

Wprowadzenie scentralizowanego modelu sterowników. Pozwala wszystkim urządzeniom niezależnym od szyny na rejestrację we wspólnym drzewie i ułatwia zarządzanie energią. Zobacz Documentation/driver-model.txt.

URZĄDZENIA BLOKOWE:

include/linux/types.h:

wprowadzono typedef sector_t dla oznaczenia liczby sektorów urządzenia blokowego, co umożliwia opcjonalną zmianę jego wielkości.

include/linux/genhd.h:

wprowadzanie get_start_sect() i get_nr_sects() na kdev_t.

SCSI:

drivers/scsi/hosts.h:

Scsi_Host_Template i Scsi_Host zawierają nową flagę highmem_io, a flaga use_new_eh_code została usunięta wraz ze starymi interfejsami do obsługi błędów.

drivers/scsi/scsi.h:

USB:

include/linux/usb.h:

drivers/usb/hid.h:

Definicje klas i funkcji HID przeniesiono tutaj.

4. Poprawki w podsystemie VM w 2.4 i 2.5

19 Dec 2001 - 25 Dec 2001 (11 posts) Archive Link: "2.4.17rc2aa1"

People: Andrea ArcangeliLinus TorvaldsChristoph Hellwig

Andrea Arcangeli wysłał łatę, która " powinna naprawić ostatnie zapętlenia przy obciążonym VM." Gergely Nagy powiedział, że wciąż widział zwisy, nawet po zaaplikowaniu tej łaty i podał informacje na temat swojego sprzętu i oopsa, którego doświadczył. W międzyczasie, również Andrea znalazł inny błąd i wysłał poprawkę. Linusowi Torvaldsowi wydawało się, iż ta poprawka była już w 2.4, lecz Andrea zaprzeczył. Linus odparł: "Ok, ona _jest_ w 2.5.x, więc chyba jest to poprawka, której nie wskazałem Marcelo." Christoph Hellwig wyjaśnił: "Wynikło to ze złej współpracy pomiędzy Marcelo i mną -- na początku wysłałem mu niekompletną łatę, a następnie starą. Wygląda na to, że zaaplikował tę pierwszą, a ja nie sprawdziłem, która z nich dostała się do drzewa :P"

5. Stan Asymetrycznego Przetwarzania Równoległego

19 Dec 2001 - 20 Dec 2001 (6 posts) Archive Link: "asynchroniczne przetwarzanie równoległe"

People: John Clemens

Martin A. Brooks zapytał, czy wykonana została jakaś praca nad wparciem dla Asymetrycznego Przetwarzania Równoległego (,,Asymmetric Multi-Processing'' -- AMP, jako przeciwieństwo SMP) pod Linuksem i John Clemens odpowiedział:

Przyglądałem się tej sprawie jakiś czas temu... nigdy nie udało mi się uzyskać łaty, działającej poprawnie w 100%... Na liście SGI Linux Scalability była na ten temat jakaś dyskusja (z tego, co wiem, była to -jedyna- dyskusja na liście SGI, gdyż lista IBM ruszyła mniej więcej w tym samym czasie... ach, osierocone listy mailingowe..).. To był kod zrobiony na szybko, a właściwie jego początki...

Umieściłem stronę na ten temat pod adresem http://www.deater.net/john/processorgroups.html

Konkluzja: Można to zrobić, nie warto dla minimalnego przyrostu prędkości, może dać więcej korzyści na maszynach NUMA, ale linuksowe, skalowalne szeregowanie prawdopodobnie robi to samo w o wiele lepszy sposób...

6. Wymagania optymalizacji kompilatora

19 Dec 2001 - 22 Dec 2001 (12 posts) Archive Link: "szczegóły gcc 3.0.2/jądro (problem z -O)"

People: Chris MeadorsRobert LovePavel MachekErik Mouw

Ktoś zauważył, że zmiana poziomu optymalizacji kompilatora z -O2 do -O spowodowała zbudowanie zepsutego jądra. Chris Meadors wyjaśnił: "Jądro korzysta z funkcji włączanych przez -O2 i nie będzie działało poprawnie z samym -O, z żadną wersją gcc." Ale Martin Devera spostrzegł, że 2.2 można skompilować tylko z -O. Robert Love potwierdził wypowiedź Chrisa, dodając: "-O2 jest standardowym poziomem optymalizacji dla jądra; wszystko jest tak kompilowane. Kiedy deweloperzy testują swój kod, niuanse, które wprowadza optymalizacja, są akceptowane. Zniesienie tej optymalizacji może naruszyć te oczekiwania. Dlatego jądro tego potrzebuje." Pavel Machek zaprzeczył: "Huh? Te oczekiwania są *błędami*. Jądro nie zostanie skonsolidowane bez optymalizacji, ponieważ *wymaga* ono rozwijania w miejscu wywołania (ang. inlining). Jakakolwiek inna zależność jest *błędem*." Erik Mouw potwierdził to, mówiąc:

Cokolwiek niższe niż -O1 po prostu nie rozwija funkcji z atrybutem ,,inline'' w miejscu wywołania. Wynik jest taki, że funkcje ,,inline'' z plików nagłówkowych nie zostaną tam umieszczone i kompilator będzie zgłaszał brakujące funkcje podczas konsolidacji (lub podczas ładowania modułów).

Właściwie, to jestem zaskoczony, że 2.2 może być skompilowane z -O, AFAIK linux-2.2 również ma w plikach nagłówkowych mnóstwo funkcji ,,inline''. Wiem z doświadczenia, że -Os działa dla jąder 2.4 na ARM, nie testowałem tego z 2.2, ani z x86.

H. Peter Anvin zauważył, że -O potrafi właściwie obsłużyć rozwijanie w miejscu wywołania, co wyjaśniałoby, dlaczego jądro kompiluje się poprawnie.

7. Wytyczne dotyczące wydawania 2.4.17

21 Dec 2001 - 22 Dec 2001 (21 posts) Archive Link: "Linux 2.4.17"

People: Dan KegelMarcelo TosattiOliver Xymoron

Marcelo Tosatti ogłosił wydanie Linuksa 2.4.17, a Dan Kegel był rozczarowany, widząc że ta wersja, będąc oficjalną (w przeciwieństwie do wydań -pre i -rc), nie jest identyczna w stosunku do ostatniego ,,release-candidate''. Powiedział: "Jestem rozczarowany; Wydawało mi się, że wkraczamy w nową erą dyscypliny przy wydawaniu stabilnych jąder." Marcelo odparł, iż nigdy nie twierdził, że będzie pozostawiał finalne wydania bez zmian od poprzedniego ,,release-candidate'' tylko, że "będę wypuszczał jądra -rc, które nie będą zawierały żadnych _nowinek_." Daniel Phillips zgodził się z tym, oraz pogratulował Marcelo wydania nowej wersji jądra. W innym miejscu, Oliver Xymoron zasugerował, iż sprzeciw Dana nie był bezpodstawny. Powiedział: "Zawsze jest ryzyko zepsucia czegoś, a nie chcesz chyba pomiędzy -rc i -final wprowadzić jakiegoś błędu zżerającego dysk. Lepiej jest wydać jeszcze jedno -rc i wstrzymać się dzień z wydaniem -final. Jeśli tego nie będziesz robić, ludzie po prostu przywykną do odczekania dnia po wypuszczeniu -final, aby być bezpiecznym."

8. Strona śledząca wszystkie porty Linuksa

23 Dec 2001 - 24 Dec 2001 (4 posts) Archive Link: "Wyszukiwarka źródeł linuksowego jądra"

People: Dr. David Alan Gilbert

Dr David Alan Gilbert ogłosił:

http://www.treblig.org/Linux_kernel_source_finder.html

Pod tym adresem możecie znaleźć stronę, na której chciałbym wymienić miejsca, gdzie można znaleźć kod źródłowy dla każdej architektury i platformy. W chwili obecnej brakuje mi dobrego odnośnika do architektur s390 i cris, oprócz tego, kilka innych to moje zgadywanki.

Byłbym wdzięczny za wszelkie sugestie/poprawki/dodatki.

Zamierzam również dodać odnośniki do wymaganych wersji binutils/gcc/itd. Dla tych architektur, które używają przede wszystkim CVS, chciałbym dodać pewne instrukcje, w jaki sposób zdobyć ,,dobrze znany'' kawałek kodu (w przeciwieństwie do obecnych modyfikacji).

Erik Tews podał odnośnik do prac IBM przy S390, a także do linuksowej dystrybucji dla S390. Peter Kjellerstedt podał również odnośnik do portu na CRIS.

9. Marcelo na wakacjach

26 Dec 2001 (7 posts) Archive Link: "Wakacje"

People: Marcelo Tosatti

26 grudnia, Marcelo Tosatti ogłosił: "Wybieram się jutro (czwartek) na wakacje (plaża, hurraaaa), wrócę koło 4 stycznia. Niestety, w miejscu mojego pobytu nie będzie połączenia z internetem, przykro mi." Kilka osób życzyło mu udanego wypoczynku.

 

 

 

 

 

 

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