Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2017-03-15

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:08 divine-buildbot Hey! build divine-next-debug #539 is complete: Success [finished]
09:38 yaqwsx Už chápu, proč si spito našel Katku na to, aby dokončila VFS. Je to fakt úmorné - to má tolik syscallů!
09:45 mornfall yaqwsx: hele, co tak studentský projekt s Katkou a s blurry?
09:46 mornfall yaqwsx: za necelých 14 dnů je deadline
09:46 mornfall (na návrh)
09:46 mornfall dios-related věci
09:46 yaqwsx mornfall: Co by bylo tématem?
09:46 yaqwsx Ah, ok. Roční nebo půlroční?
09:46 mornfall spíš roční
09:47 yaqwsx Ok - jde mi jen o to, že podle těch nových věcí nesmím v rámci toho projektu dělat diplomkové téma (které ještě nemám)
09:47 mornfall yaqwsx: diplomku bys mohl mít spíš k symbolizaci než k diosu?
09:47 yaqwsx Ani s jedním nemám problém (téma a projekt)
09:48 mornfall ale to s tím projektem vs diplomkou je trochu mrzuté
09:49 mornfall nicméně asi nevadí, kdoví co bude Katka dělat za diplomku až to bude aktuální
09:50 xstill_ co s projektem vs diplomkou?
09:50 mornfall na projektu by mohla klidně mít nahrávání v passthrough módu
09:50 mornfall xstill_: to co teď yaqwsx psal
09:51 xstill_ aha jo, no to není až tak jednoduchý, překryv tam tuší být může, ale ten projekt by měl být rozsahově víc než standardní diplomka myslím, Jiříku bude vědět víc
09:52 xstill_ tj. byl by problém kdybys udělal normální diplomku a dostal za to zaplacené projektem
09:52 mornfall xstill_: btw. jste jediný projekt z prosince 2015 co není na webu uveden jako splněn :-)
09:52 xstill_ ale pokud ta práce zásadně překročí to co je standard diplomky tak by to asi mohlo jít
09:52 xstill_ mornfall: kde?
09:52 mornfall https://www.fi.muni.cz/research/student_projects/index.xhtml
09:53 xstill_ to je nemylé ovšem
09:53 mornfall taky je zajímavý že jakýsi Vít Novotný byl v jeden moment na 3 projektech paralelně
09:54 xstill_ to je dost divný
09:54 mornfall (i když jen 2 měsíce)
09:55 mornfall no všechno to garantoval Sojka :-)
09:55 xstill_ no on měl dva projekty paralelně
09:55 yaqwsx xstill_: To je nějaká administrativní chyba nebo jsme něco failnuli?
09:55 xstill_ což bych taky čekal, že nejde
09:55 xstill_ yaqwsx: to nevím, já to vidím poprvé
13:32 yaqwsx blurry: Kolik věcí ti rozbiji tím, že signály přesunu pod scheduler?
13:43 yaqwsx mornfall: Implementace syscallů a jejich wrappery by měly být noexcept, není to tak?
13:47 blurry yaqwsx: co znamena 'signaly presunu pod scheduler'? ako sa to prejavuje?
13:48 yaqwsx To že vezmu tvoje datové struktury, které jsi vytvořila a strčím je do __dios::Scheduler - nebudou už mít své vlastní místečko v kontextu
14:09 blurry no idea, hraj sa
14:09 blurry preco vlastne chces mat vsetko pod Schedulerom?
14:10 yaqwsx Ne všechno. Jak teď dělám DiOS modulární, tak mi přijde, že scheduler je ta věc, která má/nemá zabíjet věci
14:10 yaqwsx A doručovat signály.
14:55 mornfall yaqwsx: No, pak zase skončíš u toho, že budeš programovat knihovnu pro psaní schedulerů :-)
14:55 mornfall Protože v podstatě všechny tady ten kousek budou potřebovat.
14:56 yaqwsx Ok, takže by to přecijen měla být samostatná komponenta stavu, která si implementuje vlastní signály?
14:57 mornfall yaqwsx: já nevim, ale bez kill( getpid() ) se nehneš z místa
14:57 mornfall (exit v libc tohle používá)
14:58 yaqwsx Dobře - když to ale rozhodím na dvě komponenty, tak signály budou muset metody scheduleru volat přes tabulku syscallů.
14:58 mornfall (resp. může to spadat pod nějaký POSIX-misc modul, který by mohlo mít smysl vypnout v nějakém embedded případě)
14:59 mornfall POSIX-essentials :-)
15:00 mornfall yaqwsx: ale stvořit 'knihovnu pro schedulery' je taky validní přístup
15:00 mornfall yaqwsx: jen nevim jak ty komponenty teď vypadají, tak nevim jestli třeba stačí podědět od něčeho co implementuje signály...
15:01 yaqwsx Když signály ale budou "knihovna" tak si je do každého scheduleru, který vyrobím vložím a použiji. Když to bude samostatná část kontextu, tak si se schedulerem bude moci povídat pouze přes tabulku syscallů...
15:01 yaqwsx mornfall: Ano, to stačí.
15:01 yaqwsx mornfall: Snažím se to teď dokopat v minimální možné podobě do spustitelné podoby, pak ti to samozřejmě pošlu na review a přepracuji.
15:03 yaqwsx mornfall: A na předchozí otázku - komponenta stavu je třída, který implementuje metodu s názvem syscallu.
15:04 mornfall ok
15:18 yaqwsx Proč tento kód Perlu mající za úkol rozdělit dle čárky do seznamu a zbyvit se bílých znaků, nechá bílý znak u posledního stringu?
15:18 yaqwsx map { s/\s//; $_ } split /,/, $content
15:19 mornfall chybi /g?
15:19 yaqwsx Ach, díky!
16:04 yaqwsx Přemýšlel jsem nad tím a dává mi smysl, aby jakákoliv implementace scheduleru dědila od signálů a od monitorů. Když je totiž budu mít jako samostatné komponenty, budu muset čeli problému jak je volat během schedulování.
16:28 mornfall jo to je asi použitelnej plán
18:10 yaqwsx mornfall: Umím si v simu zastavit program těsně před tím, než se pokusím spustil null instrukci?
18:35 mornfall jedině breakpoint na správný místo
19:28 mornfall ten null instruction check by mel byt fault
19:28 mornfall idealne
19:31 mornfall yaqwsx: zvládl bys v blízké době (ideálně do zítra do tří odpoledne) stvořit 1-2 odstavce k tomu projektu? mohla by tam spadat modularizace diosu a další dios-related věci
19:31 mornfall yaqwsx: zdá se že bys na tom pracoval jen ty a blurry
19:31 mornfall yaqwsx: (svoji část si nastřelí sama)
19:32 mornfall yaqwsx: (určitě by se pod to vešel synchronní scheduler pro simulink a spol.)
19:33 mornfall yaqwsx: ještě trochu unrelated, vztah VFS a scheduleru se trochu komplikuje tím, že třeba tabulka filedescriptorů bude muset do struktury procesu
19:33 mornfall yaqwsx: jo, a taky by pod tím mohla (měla) být práce na oddělení kódu kernelu od userspace a příprava na exec
19:34 mornfall yaqwsx: (který s tím úzce souvisí)
19:35 mornfall (a teda stejná story monitor, ten taky přijde per-process, bude-li to aspoň trochu možné)
19:37 yaqwsx mornfall: Jaktoře nakonec jenom my dva?
19:38 mornfall yaqwsx: Katka se vyjádřila že projekt nechce
19:38 mornfall yaqwsx: jestli přibrat Tadeáše je otevřená otázka
19:55 yaqwsx Takže projekt by z mé strany měl zahrnovat modularizaci DiOSu, user-friendly tracing vláken, procesy, potenciálně příprava DiOSu na SV-COMP? Co všechno do toho zahrnout?
19:55 mornfall yaqwsx: na procesech pracuje blurry
19:55 mornfall yaqwsx: ale budete se muset synchronizovat
19:56 mornfall yaqwsx: jestli tam napíšeš svcomp, je to commitment
19:56 mornfall yaqwsx: ale nechám to na tebe
19:56 yaqwsx Ok, tak raději ne :D
19:56 mornfall spíš bych tam napsal dios-level podporu pro abstrakce
19:57 yaqwsx Jde mi o to - mělo by tam být něco, aby to vypadalo, že skutečně něco dělám.
19:57 mornfall yaqwsx: ještě je na roadmap fair scheduler
19:58 mornfall yaqwsx: nějaká hlubší integrace se simulátorem by taky mohla mít smysl
19:58 mornfall yaqwsx: a když jsem dneska blurry vysvětloval proč jsou tid-y ukazatele, tak jsem zjistil že to nefunguje tak dobře jak bychom chtěli
19:59 mornfall ale není jasný jestli to jde zlepšit
19:59 mornfall no vlastně šlo, kdyby to bylo seřazený podle nějakýho subgraph hashe
19:59 mornfall tady máš open-ended projekt ;-)
20:00 mornfall bbiab, musím vystoupit z vlaku :p
21:15 yaqwsx Něco se rozbilo se simem? Když si chci vypsat source, tak vždy spadne.
21:17 xstill yaqwsx: teď používám source a nepadá, neudělal jsi inspect na něco co není rámec?
21:19 yaqwsx Spustil jsem program, který udělá trace a skončí. V momentě, kdy došel do Exitu, zavolal jsem source
21:19 xstill a bitcode tamtéž funguje?
21:20 yaqwsx bitcode funguje
21:21 yaqwsx Jakože ano, mám teď divine hodně rozbitý, ale sahal jsem jenom do DiOSu
21:22 xstill zkus se k tomu attachnout v gdb  a zjistit kde to padá, beztak to zas bude něco jako, že se blbě napočítaj meze funkce a zkusí se přečíst něco co je mimo ty zdrojáky
21:23 xstill source by se fakt neměl dát rozbít změnama v diosu
21:23 yaqwsx A co nějakými změnami v CMaku runtimu?
21:24 yaqwsx Měnil jsem totiž to, jak se mapují soubory do FS kompilátoru.
21:27 mornfall a funguje source jinde?
21:27 mornfall v knihovně
21:27 xstill no tak tím bys to mohl rozbít
21:27 xstill ale pak by to nefungovalo nikde v knihovně
21:27 xstill proč jsi to měnil?
21:29 yaqwsx Protože některé zdrojáky generuji Perlovým skriptem.
21:32 yaqwsx xstill: Když jsem si ale přidal výpis do kompilátoru, tak se všechny zdrojáky mapovaly tak jako před mým zásahem
21:32 xstill a to něco mění z hlediska toho jak se mapují do VFS kompilátoru?
21:32 xstill no a funguje ti source jinde v knihovně?
21:34 yaqwsx Jo, bude to tou změnou v CMaku - source na zdrojáku programu, který zkoumám funguje, ale na knihovnu ne.
21:39 yaqwsx Do kterých částí simu bych se měl podívat, abych zjistil kde a jak se mapují zdrojáky?
21:54 mornfall yaqwsx: divine/vm/debug.* divine/vm/printing.* per brucho
21:55 yaqwsx Dík, podívám se. Na GDB si počkám - protože jsem dělal na DiOSu, mám zbuilděnou pouze release verzi Divinu
22:03 xstill to zrovna na to zjistit kde to segví může stačit
22:03 mornfall no, nebo až budeš mít ten debug třeba to vyassertuje
22:05 mornfall yaqwsx: source() v print.hpp je ta fce která tě asi zajímá
22:06 yaqwsx Jj, do ní se už dívám.
22:42 xstill mornfall: mrkni na poslední 3 patche v /home/xstill/DIVINE/divine4 jestli souhlasíš s tím rozhraním
22:43 xstill pokud ano tak je můžeš pullnout, ty před nima ale zatím raději ne (asi nic nerozbijou, ale mohl bych do nich chtít ještě hrabat)
23:13 divine-next 3 new patches validated [xstill]

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary