Portál AbcLinuxu, 29. dubna 2024 10:56


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
17.7.2009 01:18 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin
Byla přidána podpora pro hostitelské řadiče USB3.0/xHCI, žádný však ještě není k dispozici.

Jsem rád, že je Linux připraven i když skutečných zařízení se stejně dočkáme tak nejdřív za rok.

Petr Tomášek avatar 17.7.2009 10:18 Petr Tomášek | skóre: 39 | blog: Vejšplechty
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009

To by mě teda zajímalo, jak takovou věc testovali :=ooo

multicult.fm | monokultura je zlo | welcome refugees!
17.7.2009 10:22 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Naco? Ved nie je nikto, komu by nefungovala. :-)
Nikola Ciprich avatar 17.7.2009 08:46 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009 - chybicka
Odpovědět | Sbalit | Link | Blokovat | Admin

čipová sada AMD r60 čipová sada Intel IGDNG

asi chybi odrazka. jinak jako vzdy skvele pocteni!

Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
17.7.2009 08:59 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009 - chybicka
asi chybi odrazka
Dík, opraveno.
17.7.2009 10:15 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin
V casti "Mezi změny viditelné vývojářům jádra patří:" su niektore odrazky zdvojene. Presnejsie chyba lomka v uzatvarajucom elemente li.
17.7.2009 10:16 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin
Tie navrhove vzory su zaujimave; skoda ze nabuduce uz ma byt posledna cast. :-)

Nejak nerozumiem tomu konceptu "kotvy"; nemate niekto nejaky link kde je opisany?
17.7.2009 11:30 frr | skóre: 34
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009

Představte si, že máte struct, který obsahuje několik proměnných (memberů) různých typů - například další vnořené structy.

No a dostanete se ve zdrojáku do situace, kdy máte pointer na ten vnořený struct, a potřebujete zjistit pointer na ten větší struct, který ho obaluje. Vlastně jde o to, zjistit ofset vnořeného structu v tom obalovém structu (operace na úrovni statických typů, čili ta informace je k dispozici už při kompilaci) a odečíst ho od známého pointeru na vnořený struct.

Všiml jsem si, že to kernel umí řešit nějakými makry - patrně zmiňovaným container_of().

Omlouvám se, pokud tohle všechno je jasné :-) Dál to z hlavy dopodrobna neznám. Čili nevím přesně, jak "kotva" funguje.

Tuším že jsem to viděl v klasické kernelové knihovničce pro vytváření "spojových seznamů", kde "struct list_head" je vnořený do Vašeho uživatelského structu. No a při procházení seznamem pracujete s pointery na ten vnořený list_head, ale cílem je, dostat pointer na ten Váš uživatelský struct.

[:wq]
17.7.2009 13:26 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Vdaka, uz tomu zacinam rozumiet. Pre rigidneho Javistu ako ja to vo vseobecnosti vyzera ako porusenie zapuzdrenia; na druhej strane je zjavne, ze na urcite typy pouzitia je to ucinny pristup.
alblaho avatar 17.7.2009 10:26 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin
Může mi někdo vysvětlit, co je to ta kotva? V životě jsem o žádné neslyše.
17.7.2009 12:39 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
No, pokud tomu dobře rozumím (Luk o tom ve svojí knížce o jádře mluví taky), je to asi takhle:

Obvyklá implementace spojového seznamu staví na struktuře, řekněme, ListNode, která vypadá zhruba takhle (pseudokód!):
class ListNode<T> {
  ListNode<T> next;
  T data;
}
Šikulové od jádra to převrátili vzhůru nohama a vymysleli asi tohle:
class ListNode {
  ListNode next;
}

class MyData {
  ...
  ListNode node;
}
Implementace seznamu pracuje s ListNode, ale navenek umí poskytnout přímo objekty dat. Představuju si to asi takhle nějak:
void forEach(ListNode head, {T -> void} callback) {
  ListNode curr = head;
  while (curr != null) {
    callback.invoke(CONTAINER_OF(curr)); // !!!
    curr = curr.next;
  }
}

MyData a = new MyData(...); a.node = new ListNode();
MyData b = new MyData(...); b.node = new ListNode(); b.node.next = a.node;

forEach(a) { MyData data -> ... }
Pochopitelně tohle je extrémně zjednodušené, ale myslím, že princip je správný. Pokud se pletu, někdo mne prosím opravte :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
alblaho avatar 17.7.2009 13:45 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Hm, zajímavé. Asi si stáhnu zdrojáky a podívám se, jak je implementováno CONTAINER_OF, protože bych očekával, že ListNode by musel být vždy první field datové struktury (starý trik, používá mj. CSim). Jenže pak by struktura nemohla být ve více seznamech.
alblaho avatar 17.7.2009 14:35 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Dětská slavnost:
/**
 * container_of - cast a member of a structure out to the containing structure
 * @ptr:	the pointer to the member.
 * @type:	the type of the container struct this is embedded in.
 * @member:	the name of the member within the struct.
 *
 */
#define container_of(ptr, type, member) ({			\
	const typeof( ((type *)0)->member ) *__mptr = (ptr);	\
	(type *)( (char *)__mptr - offsetof(type,member) );})
17.7.2009 18:08 danfis | skóre: 4
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Šikulové od jádra to převrátili vzhůru nohama a vymysleli asi tohle: ...

To je proto, aby se mohlo vice techto vzoru pouzivat v jedne strukture (napriklad aby mohla byt struktura ve vice seznamech). Implementace dedicnosti (od jednoho predka) by mohla jednoduse vypadat nejak takhle:

struct parent { ... };
struct s {
    struct parent; // prvni prvek ve strukture
    ...
};

Na strukturu s pak muzes pouzivat vsechny funkce (samozrejme s pretypovanim - coz ale za tebe muze delat nejake makro), ktere lze pouzit na strukturu parent bez pouziti maker typu container_of() nebo offset().
17.7.2009 18:15 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
To převrátili vzhůru nohama nemělo znít nijak pejorativně, je to výborný nápad (pro jaderné účely). Stejně tak jedna z implementací wait-free hashovací tabulky je vlastně postavená na hlavu (nejde o indexované seznamy, ale indexy do seznamu) :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
18.7.2009 16:28 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Teď koukám, že kecám, ta hashovací tabulka, kterou jsem zmiňoval, je jenom lock-free. Ale stejně je to pěkný nápad :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
17.7.2009 20:22 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Na strukturu s pak muzes pouzivat vsechny funkce (samozrejme s pretypovanim - coz ale za tebe muze delat nejake makro), ktere lze pouzit na strukturu parent
Tyvado tak to je fikaný, by mě nenapadlo, ale to skutečně tak je. Akorát musí člověk pamatovat, že je potřeba alokovat/uvolnit víc paměti pro potomka, aby to nezatejkalo...
17.7.2009 11:24 Laco
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin

To je taka ta vec ktoru maju lode a ked sa chcu urzat na mieste vypustia kotvu...

Keby si furt nieco nekopiloval a nepisal v terminale a namiesto to si dal Vistu, mal by si cas aj na vseobecne vzdelavanie :p

20.7.2009 07:17 Pev | skóre: 28
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin
bylo začleněny
13.12.2021 10:01 geebranz
Rozbalit Rozbalit vše Re: Jaderné noviny – 17. 6. 2009
Odpovědět | Sbalit | Link | Blokovat | Admin
Software update

metalbuildingstylertx.com

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.