Conversation with #inferno at Sat Nov 21 19:04:01 2009 on powerman-asdf@irc.freenode.net (irc) (19:14:13) npe left the room (quit: ). (19:14:45) sku [n=sk@217.175.9.215] entered the room. (19:23:36) j123m left the room (quit: Read error: 110 (Connection timed out)). (20:40:13) p4p4_ [n=P4p4@24.106.113.82.net.de.o2.com] entered the room. (20:42:37) p4p4_ left the room. (21:02:38) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (21:10:07) p4p4 left the room (quit: Connection timed out). (21:17:21) sku left the room (quit: Remote closed the connection). (21:19:22) sswam [n=sswam@CPE-124-181-65-65.lns9.win.bigpond.net.au] entered the room. (21:33:40) sswam left the room (quit: "leaving"). (21:35:06) sswam [n=sswam@CPE-124-181-65-65.lns9.win.bigpond.net.au] entered the room. (21:38:02) sswam left the room (quit: Client Quit). (21:43:16) sswam [n=sswam@CPE-124-181-65-65.lns9.win.bigpond.net.au] entered the room. (21:53:54) sswam left the room (quit: "leaving"). (21:59:13) sswam [n=sswam@CPE-124-181-65-65.lns9.win.bigpond.net.au] entered the room. (21:59:16) sswam left the room (quit: Client Quit). (23:08:06) raiz [n=raiz@p4FE886E8.dip0.t-ipconnect.de] entered the room. (00:39:40) raiz left the room (quit: Client Quit). (00:42:52) EthanG left the room (quit: Remote closed the connection). (02:59:47) underspecified left the room (quit: ). (04:47:53) F1sh left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) robot12__ left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) sqweek left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) maht left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) soul9 left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) hagna left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) anothy_x left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) qed left the room (quit: orwell.freenode.net irc.freenode.net). (04:47:53) andguent left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) C-Keen left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) Robdgreat left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) me___ left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) mjl- left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) yiyus left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) uriel left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) jas left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) olegfink left the room (quit: orwell.freenode.net irc.freenode.net). (04:48:08) mycroftiv left the room (quit: orwell.freenode.net irc.freenode.net). (04:49:39) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (04:49:39) robot12__ [n=robot12@inferno.kgts.ru] entered the room. (04:49:39) maht [n=maht__@85-189-31-174.proweb.managedbroadband.co.uk] entered the room. (04:49:39) hagna [n=hagna@70.102.57.178] entered the room. (04:49:39) F1sh [n=Fish@86.65.182.194] entered the room. (04:49:39) soul9 [n=none@unaffiliated/johnnybuoy] entered the room. (04:49:39) sqweek [n=none@203-206-124-219.dyn.iinet.net.au] entered the room. (04:49:39) Robdgreat [i=rob@unaffiliated/robdgreat] entered the room. (04:49:39) mjl- [n=none@knaagkever.ueber.net] entered the room. (04:49:39) anothy_x [n=a@adsl-99-29-34-130.dsl.bcvloh.sbcglobal.net] entered the room. (04:49:39) andguent [n=andguent@qcx.be] entered the room. (04:49:39) yiyus [i=12427124@je.je.je] entered the room. (04:49:39) uriel [n=uriel@li43-28.members.linode.com] entered the room. (04:49:39) olegfink [n=olegfink@snupt.com] entered the room. (04:49:39) C-Keen [i=ckeen@pestilenz.org] entered the room. (04:49:39) jas [n=jas@adsl-69-215-39-41.dsl.chcgil.ameritech.net] entered the room. (04:49:39) mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] entered the room. (04:49:39) qed [i=tao@gateway/shell/blinkenshell.org/x-nagdtsntgrfdiifl] entered the room. (05:01:53) F1sh left the room (quit: orwell.freenode.net irc.freenode.net). (05:01:53) robot12__ left the room (quit: orwell.freenode.net irc.freenode.net). (05:01:53) sqweek left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) anothy_x left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) soul9 left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) maht left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) hagna left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) qed left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) C-Keen left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) andguent left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) Robdgreat left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) jas left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) mjl- left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) olegfink left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) mycroftiv left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) yiyus left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) uriel left the room (quit: orwell.freenode.net irc.freenode.net). (05:04:00) me___ left the room (quit: orwell.freenode.net irc.freenode.net). (05:05:04) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (05:05:04) robot12__ [n=robot12@inferno.kgts.ru] entered the room. (05:05:04) maht [n=maht__@85-189-31-174.proweb.managedbroadband.co.uk] entered the room. (05:05:04) hagna [n=hagna@70.102.57.178] entered the room. (05:05:04) F1sh [n=Fish@86.65.182.194] entered the room. (05:05:04) soul9 [n=none@unaffiliated/johnnybuoy] entered the room. (05:05:04) sqweek [n=none@203-206-124-219.dyn.iinet.net.au] entered the room. (05:05:04) Robdgreat [i=rob@unaffiliated/robdgreat] entered the room. (05:05:04) mjl- [n=none@knaagkever.ueber.net] entered the room. (05:05:04) anothy_x [n=a@adsl-99-29-34-130.dsl.bcvloh.sbcglobal.net] entered the room. (05:05:04) andguent [n=andguent@qcx.be] entered the room. (05:05:04) yiyus [i=12427124@je.je.je] entered the room. (05:05:04) uriel [n=uriel@li43-28.members.linode.com] entered the room. (05:05:04) olegfink [n=olegfink@snupt.com] entered the room. (05:05:04) C-Keen [i=ckeen@pestilenz.org] entered the room. (05:05:04) jas [n=jas@adsl-69-215-39-41.dsl.chcgil.ameritech.net] entered the room. (05:05:04) mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] entered the room. (05:05:58) qed [i=tao@gateway/shell/blinkenshell.org/x-nagdtsntgrfdiifl] entered the room. (05:05:58) eno left the room (quit: Connection reset by peer). (05:07:39) eno__ [n=eno@adsl-70-137-158-9.dsl.snfc21.sbcglobal.net] entered the room. (05:24:03) mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] entered the room. (06:25:02) acmeuser [n=acmeuser@97.117.54.185] entered the room. (06:25:17) acmeuser: one user? (06:27:43) hagna_ [n=hagna@97-117-54-185.slkc.qwest.net] entered the room. (06:30:33) acmeuser left the room. (06:35:10) hagna_ left the room (quit: "Get MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"). (06:45:45) soul9: good point (07:13:12) mennis left the room (quit: ). (08:44:05) F1sh left the room (quit: orwell.freenode.net irc.freenode.net). (08:44:06) eno__ left the room (quit: orwell.freenode.net irc.freenode.net). (08:44:06) robot12__ left the room (quit: orwell.freenode.net irc.freenode.net). (08:44:06) sqweek left the room (quit: orwell.freenode.net irc.freenode.net). (08:44:06) anothy_x left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) soul9 left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) maht left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) hagna left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) qed left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) C-Keen left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) andguent left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) Robdgreat left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) jas left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) mjl- left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) olegfink left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) mycroftiv left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) yiyus left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) uriel left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:06) me___ left the room (quit: orwell.freenode.net irc.freenode.net). (08:45:31) eno__ [n=eno@adsl-70-137-158-9.dsl.snfc21.sbcglobal.net] entered the room. (08:45:31) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (08:45:31) robot12__ [n=robot12@inferno.kgts.ru] entered the room. (08:45:31) maht [n=maht__@85-189-31-174.proweb.managedbroadband.co.uk] entered the room. (08:45:31) hagna [n=hagna@70.102.57.178] entered the room. (08:45:31) F1sh [n=Fish@86.65.182.194] entered the room. (08:45:31) soul9 [n=none@unaffiliated/johnnybuoy] entered the room. (08:45:31) sqweek [n=none@203-206-124-219.dyn.iinet.net.au] entered the room. (08:45:31) Robdgreat [i=rob@unaffiliated/robdgreat] entered the room. (08:45:31) mjl- [n=none@knaagkever.ueber.net] entered the room. (08:45:31) anothy_x [n=a@adsl-99-29-34-130.dsl.bcvloh.sbcglobal.net] entered the room. (08:45:31) andguent [n=andguent@qcx.be] entered the room. (08:45:31) yiyus [i=12427124@je.je.je] entered the room. (08:45:31) uriel [n=uriel@li43-28.members.linode.com] entered the room. (08:45:31) olegfink [n=olegfink@snupt.com] entered the room. (08:45:31) C-Keen [i=ckeen@pestilenz.org] entered the room. (08:45:31) jas [n=jas@adsl-69-215-39-41.dsl.chcgil.ameritech.net] entered the room. (08:45:31) mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] entered the room. (08:45:31) qed [i=tao@gateway/shell/blinkenshell.org/x-nagdtsntgrfdiifl] entered the room. (09:29:55) j123m [n=quassel@unas-revda.interra.ru] entered the room. (11:00:17) acmeuser [n=acmeuser@p57A27747.dip.t-dialin.net] entered the room. (11:00:46) acmeuser left the room. (12:20:51) uriel left the room (quit: Remote closed the connection). (12:21:01) uriel [n=uriel@209.123.234.28] entered the room. (14:48:08) raiz [n=raiz@p4FE897E4.dip0.t-ipconnect.de] entered the room. (15:10:10) sswam [n=sswam@CPE-58-167-40-184.lns2.lon.bigpond.net.au] entered the room. (15:34:55) underspecified [n=eric@softbank220043052007.bbtec.net] entered the room. (16:27:35) me___ left the room (quit: "leaving"). (16:32:45) mennis [n=mennis@65.12.170.146] entered the room. (16:43:10) EthanG [n=ethan@sourcemage/guru/eekee] entered the room. (16:43:50) raiz left the room (quit: Client Quit). (16:46:45) ukl [n=ukl@78.53.126.208] entered the room. (16:54:51) EthanG: can inferno listen for incoming cpu(1) connections? (16:55:48) EthanG: There is a cpu(4) page but the commands listed don't seem to exist, as far as I understand (16:56:36) EthanG: do file servers exist somewhere other than /dis ? (17:46:55) mennis: look in /dis/svc/ (17:57:20) EthanG: ty but still no (19:09:22) mennis left the room (quit: ). (19:31:35) npe [n=npe@94-224-251-223.access.telenet.be] entered the room. (19:37:47) sswam1 [n=sswam@CPE-58-167-40-184.lns2.lon.bigpond.net.au] entered the room. (19:38:22) sswam1 left the room (quit: Client Quit). (19:54:02) mjl-: npe: did you have a look at the inferno-npe tree, and if so does it make sense? (19:54:12) mjl-: i'm wondering whether i should put some code in (19:54:22) mjl-: code of my existing projects (19:54:24) mjl-: like nfssrv (19:56:01) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (19:56:29) mjl-: yo me___ (19:56:36) me___: hi (19:56:44) mjl-: me___: i'm getting network timeouts to grex.org (19:56:57) mjl-: trying to load the p9malloc-traces page (19:57:07) me___: oh, :( (19:57:17) me___: its not my server, its a public unix machine in ann arbor... (19:57:23) me___: (with a 2mb quota!) (19:57:27) mjl-: :D (19:57:29) mjl-: bummer (19:57:55) me___: i have the files, i can repost them elsewhere. but the summary was that most allocations in 9 are really small. (19:58:25) me___: 81% of allocations in a session where i booted my terminal, made some windows, compiled a kernel, and shutdown were under 128 bytes. (19:58:38) mjl-: that is small (19:58:42) me___: i didn't post the inferno results yet, but they're even sadder... (19:58:48) mjl-: what's sad about it? (19:59:00) mjl-: eg inefficient or something? (19:59:05) me___: a substantial number of allocations in inferno are 1..4 bytes. (19:59:18) mjl-: oh, that is really small, pretty strange (19:59:22) me___: (the smallest ones in plan 9 that i found were 9 bytes).... (20:00:11) mjl-: and did you match the small allocations to the source code? (20:00:12) me___: well, the sadness was that any allocator replacement would need very small metadata structures or would have a very low health metric... (20:00:33) me___: a few of them (in inferno). a lot of Progq structures, a bunch of strdups in tk. (20:00:41) mjl-: hmm, good point. overhead is big with small allocations (20:00:57) me___: and the plan 9 and inferno tree allocator is really really bad. (20:01:20) mjl-: opportunities! room for improvement! ☺ (20:01:24) me___: yep! (20:01:36) me___: i'm writing a replacement now, that's why the traces. (20:01:52) mjl-: cool (20:02:22) me___: if you saw one of cforsyth's posts to 9fans, the tree allocator was ~30 times slower than the K&R textbook malloc (!!) (20:02:26) me___: so lots of room for improvement (20:10:06) me___: i had two ideas actually, the 2nd one i think is interesting? (20:10:34) me___: there are some allocations that have bounded size and lifetime, such as structures associated with a pipe. (20:11:14) me___: so i'd like to create a 'region' (block of contig. memory) on entry to that path. alloc() in that path just increments a pointer, free is a nop or maybe decrement. on exit, we free the whole region... (20:11:32) me___: the pipe (well, the blocks assoicated with it anyway) and a few syscalls seems to work that way. (20:13:07) me___: seem reasonable? (20:13:10) mjl-: hmm (20:13:18) mjl-: path == code path? and "on exit" is function return? (20:13:50) me___: no. on exit 'of that path'. for the syscalls, its the return of the whole syscall to userspace. for the pipe, its pipe close(). (20:13:55) me___: (and drain) (20:14:05) mjl-: ah, i see (20:14:15) mjl-: so just allocate all mem for the path, then use it, then free it all when done (20:14:30) mjl-: sounds reasonable enough (20:15:07) mjl-: i assume you would only implement that for the most often called paths and only where it substantially reduces allocations? (20:15:14) me___: right (20:15:21) mjl-: btw, aren't "local" allocations+frees fast already? (20:15:31) mjl-: i can imagine fragmentation is very problematic (20:16:09) mjl-: but if the allocator can be written such that alloc,alloc,alloc,... followed by ...,free,free,free is fast, wouldn't that help a lot? (20:16:56) me___: yep. that'd make this idea not matter. (20:28:26) me___: mjl-: so inc and dec conveniently have that property. :) (20:39:48) soul9 left the room (quit: Connection timed out). (20:44:54) me___: mjl-: http://acm.jhu.edu/~me/p9m/ (20:47:08) mjl-: thanks! (21:13:25) ukl left the room (quit: "...."). (21:17:32) me___ left the room (quit: "leaving"). (22:00:08) mennis [n=mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] entered the room. (22:02:18) mennis left the room (quit: Client Quit). (22:27:39) mennis [n=mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] entered the room. (22:28:20) mennis left the room (quit: Client Quit). (23:28:50) npe: mjl-: nope not yet. I'll check it when I get to Japan. Remind me if you can. (23:46:18) soul9 [n=none@unaffiliated/johnnybuoy] entered the room. (23:59:33) mjl-: will do! (00:14:20) j123m left the room (quit: Read error: 104 (Connection reset by peer)). (00:14:29) j123m [n=quassel@unas-revda.interra.ru] entered the room. (00:55:50) me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (00:58:18) npe left the room (quit: ). (01:06:54) olegfink: me___: so you actually want a sort of an efficient allocator with a refcount gc? (01:16:05) me___: olegfink: well, i was actually working on doing this for plan 9... (01:16:34) me___: that said, tracing inferno's allocator and gc would be fun too (01:18:16) me___: the inferno vm (particularly the fact that only one host thread can be in Dis, but the way release/acquire work) is bizarre... (01:18:50) me___: and the allocator, based on p9's, could possibly use some work? (01:24:40) olegfink: well, I didn't mean inferno specifically, and I know almost nothing about memory allocation, but it seems that I will need to implement an allocator for lots of small requests for use with a refcount gc at some point. :-) (02:01:18) me___: hmm, iono too much about refcounting GCs... (02:18:12) sswam left the room (quit: "leaving"). (05:59:52) mycroftiv left the room (quit: Read error: 110 (Connection timed out)). (06:01:24) mycroftiv [n=infernus@h69-128-47-243.mdsnwi.dedicated.static.tds.net] entered the room. (06:16:30) me___ left the room (quit: Read error: 110 (Connection timed out)). (06:42:37) me____ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] entered the room. (07:02:40) underspecified left the room (quit: ). (07:50:10) sswam [n=sswam@CPE-58-167-40-184.lns2.lon.bigpond.net.au] entered the room. (08:05:39) robot12[home] [n=root@inferno.kgts.ru] entered the room. (08:57:25) me____ left the room (quit: Connection timed out). (09:23:01) eno__ left the room (quit: Read error: 60 (Operation timed out)). (09:26:55) eno [n=eno@nslu2-linux/eno] entered the room. (09:28:37) rapidfx [n=host666@vl-cen-ce1.avtlg.ru] entered the room. (10:31:21) npe [n=npe@94-224-251-223.access.telenet.be] entered the room. (10:51:41) robot12[home] left the room (quit: "Ухожу я от вас (xchat 2.4.5 или старше)"). (11:11:15) npe left the room (quit: ). (12:11:52) xjrn [n=jim@astound-69-42-10-25.ca.astound.net] entered the room. (13:03:44) j123m_ [n=quassel@94.190.65.228] entered the room. (13:03:44) j123m left the room (quit: Remote closed the connection). (13:20:46) j123m_ left the room (quit: Read error: 131 (Connection reset by peer)). (13:20:57) j123m [n=quassel@94.190.65.228] entered the room. (14:10:07) xjrn left the room (quit: Read error: 110 (Connection timed out)). (14:24:13) underspecified [n=eric@softbank220043052007.bbtec.net] entered the room. (14:42:55) mjl-: blegh, i'm looking at nfs again (14:43:15) mjl-: on linux & openbsd, mounting an nfssrv. again all kinds of strange behaviours (14:43:42) mjl-: an ls(1) on the mountpoint somehow causes openbsd to recursively list directories... !?! (14:44:11) mjl-: wireshark has a broken nfs dissector as far as i can tell, claiming packets are malformed while they are not (the linux kernel does understand them) (14:44:41) mjl-: i've walked a bit through the openbsd nfs code. seems old, not following standards anywhere, and depending on all kinds of assumptions... (15:30:38) sswam left the room (quit: Read error: 104 (Connection reset by peer)). (16:42:17) mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] entered the room. (18:12:32) EthanG: mjl-: does it do anything with unix's . & .. dirs? I had to patch ftpfs to hide those or tar got stuck in an infinite loop (18:12:52) EthanG: donno about ls though (18:16:08) mjl-: oh, that's a bug in ftpfs (18:16:18) mjl-: you could send it in, to the issue tracker (18:16:28) mjl-: i don't think this nfs problem is with . and .. (18:16:48) EthanG: I don't think there was an issue tracker when I fixed it, it were a while ago now, lol (18:16:51) EthanG: oke (18:16:53) mjl-: it seems clients don't do a lookup when their previous handle has gone stale (the server is supposed to be stateless...) (18:17:10) EthanG: ah yes the stateless file protocol (18:17:12) mjl-: instead they just error out with "nfs file handle is stale" (18:18:33) EthanG: or I should say the stateless file_system_ protocol. (18:18:42) mjl-: i'm going to modify nfssrv to take a directory from which it can open qid.path's. then the file handles will all be qid.path's and i don't have to keep state. i think that's how they envisioned it (but with inode numbers) (18:18:44) j123m left the room (quit: Read error: 145 (Connection timed out)). (18:19:16) EthanG: ooh, I'd not call wireshark broken just because it doesn't like packets the linux kernel does. The linux kernel tends to be very very forgiving (18:20:10) mjl-: yeah, linux was erroring out on other valid packets. but in this case wireshark is broken too (18:20:25) mjl-: it doesn't accept file handles of length 2 (they are variable length, up to 64 bytes) (18:20:40) EthanG: oh O.o (18:20:41) mjl-: i think it wants the lengths rounded up to 4 or something. weird (18:20:48) EthanG: aha, lol (18:21:33) mjl-: well, you have to round up the data to 4 bytes when you send it over the wire in xdr format. but that doesn't mean the useful data has to be rounded up to 4 too (18:21:46) EthanG: aha (18:22:08) mjl-: but well... this nfs cruftiness only makes me happier about styx ☺ (18:22:18) EthanG: :] (18:23:10) uriel: mjl-: why do you need to use nfs? (18:23:40) mjl-: i want to have random unixes (e.g. openbsd) mount some file systems of mine (18:24:30) mjl-: kind of silly, i didn't even think about nfs serving&mounting sftpfs'es. it works just with stock openbsd. (18:24:59) uriel: you could finish the 9p implementation for openbsd ;P (18:25:38) mjl-: i bet it takes quite some time to get it accepted... (18:25:48) mjl-: enough to do already! (18:26:11) uriel: ;P