Sorry about the late update. Things have been pretty busy.
During last three weeks:
- One more wish has been fulflled:https://github.com/nikodemus/special-casing
- Contact has been estabilished with all funders who still have wishes due.
- Frlocks got merged.
Next week is looking pretty bad timewise, so I don’t think much anything will happen then. Still, next steps are:
- Skype call scheduling.
- Start on rw-locks providing complete exclusion for readers and writers. Re-evaluate brlocks versus alternatives.
- Very little got done on the project — or any SBCL front, for that matter.
- Frlocks are now part of sb-concurrency in my tree, and almost ready to go in. See: https://github.com/nikodemus/sbcl/tree/wip — just interrupt tests and sanity-checking the docs needed.
- Reminders sent to those with wishes due. (Just finished doing that.) At the time of writing, there are still three people I’ve not heard back from at all, and two whom I’ve been in touch with but who are still thinking about their wishes.)
- Finish frlocks.
- Unless a new wish appears, start scheduling Skype calls that are due.
This week looks a lot less catastrophic, so I’m relatively confident that I things will happen as planned. Next weekend, however, is going to be completely blocked off by other stuff, so this is going to be a /short/ week. I’ll send the next update this Friday — which means it should show up in your email this Saturday or so.
- One more wish fulfilled: http://random-state.net/log/2012-10-06-userspac...
- More work on frlocks, making them safe on 32-bit platforms (rolling over a counter if you’re not on 64 bits takes seconds, not minutes or hours, and I don’t want to ever hunt a bug and wonder if it might be because of a 1 to 4294967295 chance.) Also worked on the docs, and added timeout to write-lock acquisition.
- As promised last week, WITH-COMPILATION-UNIT no longer grabs the big compiler lock.
- Non-threading related SBCL work: stack allocation was broken for structures in high-debug code — now it’s not. Fixed a bug introduced while doing the W-C-U work, and a couple of other booboos I’d missed somehow. (I think I managed to somehow run tests in the wrong tree. "ls -d ~/src/sbcl* | wc -l " says 37, so maybe I should do some housecleaning.)
- Sending reminders to those who have wishes due, but haven’t made them yet.
- Finishing and committing frlocks.
- Thinking about :wait-p vs :waitp. It’s not a big issue, but it drives me nuts that we have these to different keywords for the same thing. I’m tempted to deprecate those (gently, slowly!) in favor of just :wait, but it maybe picking either one and deprecating the other one (gently, slowly) is less painful.
That said, next week is looking really busy in all kinds of ways, so it may be I don’t get very much done on SBCL front — while I do hope to finish frlocks, it may be another week still before they land in master.
On an unrelated note — if you know some competent people who might be interested in working in Helsinki, here’s a hot tip to pass on: http://www.zenrobotics.com/company/recruitment/
Almost forgot, I did do something else this week as well: I spent a few hours moving the big compiler lock from WITH-COMPILATION-UNIT (yikes!) to less-obnoxious locations inside COMPILE-FILE and COMPILE. This will be merged soonish, when freeze is over.
- Three wishes fulfilled, working on fourth. Still several people I’ve not heard back from.
- No real progress on frlocks: too busy at work.
Not quite as planned, but not standing still, either.
But! How did I find time for this:http://random-state.net/log/2012-09-23-is-that-...
Here’s my rule: the window during which I allow myself to work on SBCL things not related to this project starts from the moment I press “Post An Update” button on this form on Saturday, and ends when I go to bed on Sunday. The &REST list hackery was an intensive inspiration and 10-hour hackathon in that window.
- Continue wish-fulfillment.
- Clean up frlocks as-is and write tests for merge.
- Paul Khuong had a very clever idea for one-word frlocks, which I might look into.
“frlocks” is what these things are called in Linux kernel. Linux kernel also has “brlocks”, which are not at all what my “brlocks” are like. I don’t know how I managed to get confused about them, but when I named them I actually thought that’s what Linux brlocks were.
Till next week!