00:50:24 did gengc/alpha once support software write barriers? 02:06:35 tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has joined #sbcl 02:33:36 -!- tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has quit [Quit: Leaving.] 03:57:35 hargettp [~hargettp@pool-71-174-139-241.bstnma.east.verizon.net] has joined #sbcl 03:59:11 -!- hargettp [~hargettp@pool-71-174-139-241.bstnma.east.verizon.net] has quit [Client Quit] 04:21:58 loke [~elias@bb119-74-211-163.singnet.com.sg] has joined #sbcl 06:53:39 homie` [~levgue@xdsl-84-44-152-192.netcologne.de] has joined #sbcl 06:56:39 -!- homie [~levgue@xdsl-78-35-156-21.netcologne.de] has quit [Ping timeout: 276 seconds] 08:52:34 tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has joined #sbcl 09:40:18 -!- tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has quit [Quit: Leaving.] 10:00:16 -!- homie` [~levgue@xdsl-84-44-152-192.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 10:02:11 homie [~levgue@xdsl-84-44-152-192.netcologne.de] has joined #sbcl 10:35:34 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 258 seconds] 10:49:39 Krystof [~csr21@csrhodes.plus.com] has joined #sbcl 10:49:39 -!- ChanServ has set mode +o Krystof 10:58:02 <_8david> pkhuong: hmm, Alpha or MIPS. CMUCL's MIPS backend still has #+gengc SW-AND-MAYBE-REMEMBER, which stores the LIP in SSB-TN 11:25:13 hargettp [~hargettp@pool-71-174-132-222.bstnma.east.verizon.net] has joined #sbcl 11:26:44 -!- loke [~elias@bb119-74-211-163.singnet.com.sg] has quit [Ping timeout: 246 seconds] 11:26:51 loke [~elias@bb121-6-175-224.singnet.com.sg] has joined #sbcl 12:16:47 loke_ [~elias@bb116-14-205-201.singnet.com.sg] has joined #sbcl 12:17:19 -!- loke [~elias@bb121-6-175-224.singnet.com.sg] has quit [Read error: Connection reset by peer] 12:43:30 -!- ASau [~user@95-26-236-243.broadband.corbina.ru] has quit [Ping timeout: 260 seconds] 15:07:00 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 260 seconds] 15:08:28 Krystof [~csr21@csrhodes.plus.com] has joined #sbcl 15:08:28 -!- ChanServ has set mode +o Krystof 15:10:44 _8david: same with alpha. 15:11:03 there's a remember argument to storew, but it's not used 15:24:40 -!- loke_ [~elias@bb116-14-205-201.singnet.com.sg] has quit [Quit: Leaving] 16:01:03 Inode [~inode@109.169.40.195] has joined #sbcl 16:03:19 loke [~elias@bb116-14-205-201.singnet.com.sg] has joined #sbcl 16:43:38 ASau [~user@95-28-41-49.broadband.corbina.ru] has joined #sbcl 16:54:00 I wonder whether/how we should expose madvise to users. 16:57:52 we could madvise dontneed instead of munmap/mmap, on linux. And there's also madvise "I want hugepages", or willneed for newly-allocated pages 17:02:22 what good is MADV_DONTNEED with private pages ? 17:03:42 anonymous mappings? 17:03:47 yes 17:04:05 it'll get us the zero-fill we need directly 17:04:23 FBSD and darwin have something similar. 17:04:58 but it won't actually free any memory, so it's not quite equivalent to munmap 17:05:14 yes it will. 17:05:35 We pair munmap and mmap to free physical pages but keep the address space. 17:06:07 that's exactly what DONTNEED does. We keep the address space, but it points to zero-fill-on-demand pages. 17:09:09 oops, sorry, you're right 17:14:06 nikodemus [~nikodemus@188-67-111-11.bb.dnainternet.fi] has joined #sbcl 17:14:06 -!- ChanServ has set mode +o nikodemus 17:14:14 this might actually be one the most portable easy changes in a while. Solaris, Linux and BSDs support that call. 17:14:49 hi 17:15:07 hello. 17:15:08 <_8david> that means saving the overhead of one map-related system call while incurring a page fault on use though, right? 17:15:14 pkhuong: did you test your changes on darwin? build breaks for me there 17:15:17 _8david: but we already do. 17:15:21 nikodemus: really? 17:15:34 I'll try again. 17:16:28 pkhuong: http://random-state.net/tmp/build.log 17:17:05 oh, wtf. I think I checked in the wrong tree. 17:17:33 merge noise. 17:18:09 is there any way to merge the next commit? 17:18:36 locally? rebase -i allows all sorts of things 17:19:05 no, in the central repo. So as not to leave a commit that doesn't build. 17:19:28 would need to forcibly reset the tree 17:19:43 just use "git revert " to generate a commit that reverts the bad one 17:20:44 (or commit a fix without explicitly reverting the bad one) 17:21:06 it's a 2-liner. 17:23:12 the latter, then, i guess 17:23:32 (removing the commit would be hard on all the trees that have already pulled) 17:29:37 which reminds me: we're not in july. 17:29:39 *now 17:31:11 _8david: we already incur page faults on use. That's pretty much the reason why we go through munmap/mmap. 17:37:50 -!- hargettp [~hargettp@pool-71-174-132-222.bstnma.east.verizon.net] has quit [Quit: Leaving...] 17:49:22 hargettp [~hargettp@pool-71-174-132-222.bstnma.east.verizon.net] has joined #sbcl 17:54:05 (and now I wonder why we go through munmap... mmap with MAP_FIXED should be enough) 18:02:43 -!- hargettp [~hargettp@pool-71-174-132-222.bstnma.east.verizon.net] has quit [Quit: Leaving...] 18:15:30 pkhuong: very nice work, again :) 18:26:18 -!- nikodemus [~nikodemus@188-67-111-11.bb.dnainternet.fi] has quit [Quit: This computer has gone to sleep] 18:52:18 tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has joined #sbcl 19:01:37 <_8david> pkhuong: does the kernel have any tricks to avoid page faulting if a page that was "given back" wasn't actually needed for anything else in the meantime? 19:04:51 _8david: I don't know. madvise WILL_NEED on alloc? :\ 19:05:24 the manpage really says that it's meant for stuff like malloc, so it's probably closer to being TRT than munmap 19:06:11 homie` [~levgue@xdsl-78-35-132-149.netcologne.de] has joined #sbcl 19:07:07 -!- homie` [~levgue@xdsl-78-35-132-149.netcologne.de] has quit [Remote host closed the connection] 19:08:50 -!- homie [~levgue@xdsl-84-44-152-192.netcologne.de] has quit [Ping timeout: 250 seconds] 19:08:57 nikodemus [~nikodemus@87-95-63-169.bb.dnainternet.fi] has joined #sbcl 19:08:57 -!- ChanServ has set mode +o nikodemus 19:09:45 homie [~levgue@xdsl-78-35-132-149.netcologne.de] has joined #sbcl 19:11:17 <_8david> From what I've googled-but-not-verified, glibc used to prefer { mmap(PROT_NONE, MAP_FIXED); /* times passes until next allocation */; mprotect(PROT_*); /* code accesses it */ } over DONTNEED because it has that property. 19:11:54 <_8david> Seems like WILLNEED support is newer than that, perhaps it was the answer to their problem. *idlespeculation* 19:13:16 I'm just going from the manpage. I'll see what tcmalloc does. 19:33:44 so jemalloc and tcmalloc/webkit go through madvise. 19:34:54 I don't know... 19:58:52 sheep [~peter@pjstirling.plus.com] has joined #sbcl 19:58:55 -!- sheep is now known as Guest51801 20:06:09 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 20:07:05 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 20:15:09 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 20:16:47 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 20:33:07 gor[e] [~svr@gw2.masterhost.ru] has joined #sbcl 20:37:23 -!- nikodemus [~nikodemus@87-95-63-169.bb.dnainternet.fi] has quit [Quit: This computer has gone to sleep] 20:38:05 nikodemus [~nikodemus@87-95-63-169.bb.dnainternet.fi] has joined #sbcl 20:38:05 -!- ChanServ has set mode +o nikodemus 20:41:09 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 20:43:57 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 21:12:03 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Ping timeout: 240 seconds] 21:12:33 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 21:15:20 -!- tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has quit [Quit: Leaving.] 21:20:06 tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has joined #sbcl 22:28:33 workthrick [~mathrick@emp.nat.sdu.dk] has joined #sbcl 22:29:09 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 22:31:01 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 22:38:09 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 22:39:12 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 22:49:01 -!- nikodemus [~nikodemus@87-95-63-169.bb.dnainternet.fi] has quit [Quit: This computer has gone to sleep] 22:52:13 -!- workthrick [~mathrick@emp.nat.sdu.dk] has quit [Read error: Connection reset by peer] 22:53:41 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Ping timeout: 258 seconds] 22:54:11 -!- tcr1 [~tcr@77-58-246-74.dclient.hispeed.ch] has quit [Quit: Leaving.] 22:54:11 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 23:06:43 So, let's say we wanted to interleave boxed and unboxed slots in structures. 23:07:18 never mind. It's pretty obvious that we want a bitfield. 23:10:09 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 23:12:08 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 23:23:48 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Ping timeout: 276 seconds] 23:24:16 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl 23:32:03 -!- Guest51801 [~peter@pjstirling.plus.com] has quit [Read error: Connection reset by peer] 23:32:40 Guest51801 [~peter@pjstirling.plus.com] has joined #sbcl