I now have thirty unread books on my bookshelf to read, after yesterday's hunting around Cardiff. It could have been worse ... there was a very tempting twelve-volume copy of Churchill's "The Second World War" which I somehow said "no" to. More importantly, I managed to resist buying the '76 re-issue Gibson Explorer we came across ...
And this week's recommended CD is In My Life from legendary producer George Martin, if only for Jim Carrey's performance on I Am The Walrus. I was luck enough to catch most of the programme shown on the BBC about the making of this CD; I do hope they put it out on video sometime soon.
First up for today is to get to the bottom of Peter's nice()ing problem. Basically GNQS on IRIX won't allow Peter to set the nice value of a job to +20. On IRIX 6.4, this results in a job being marked as "weightless", which as I understand it means that the job only gets scheduled when there is nothing else for the machine to do.
The problem was at line 305 of libnqs/all-systems/defines.h; for POSIX.1 systems, the maximum nice value MAX_NICE was set to 19, not 20. Interestingly enough, GNQS has two sets of macros to compare nice values against; MIN_NICE and MAX_NICE for one, but also MIN_REQNICE and MAX_REQNICE. I don't understand why both are needed; I'll look into them another day.
If you want GNQS to be able to set a nice value of 20, please download GNQS v3.50.5-pre3.tar.gz, available from ftp.gnqs.org. I'm not planning to release a final v3.50.5; these pre-releases are simply to get some useful fixes out whilst I'm working on v3.51.0-pre2.
In fact, next up is more work on 3.51.0-pre2. I'm still writing the staged installation scripts. There are four ways to handle staged installations, depending on what's already running on your computer, and on top of that you can only perform a staged installation if you don't have clients NFS-mounting the GNQS code from your current computer.
Out all day in Cardiff (saw Dark City and Deep Impact) so no GNQS work done.
More work on SETUP for v3.51.0-pre2.
I'm currently working on the staged installation support ... once this is out of the way, I've just got the walkthroughs to do and she's ready for release.
cd SETUP.v4 ; wc -l `find . -type f -print`
8890
Hmmm ... I'm on for 10,000 lines of code just to install GNQS v3.51! This is the best part of 9,000 lines of code since Christmas so far ... and there's plenty more to do before v3.51.0 comes out of beta.
Hopefully the weather will stay fine tomorrow for my foray into Cardiff; I'm being introduced to a decent cup of coffee, and then we're off to see Dark City.
Another quiet night for email. A quiet night for GNQS work as well.
Quiet night on the email front - I think I've had more queries about Monsanto's products tonight than I've had GNQS email ;-)
Had a kind offer to help test (and supply pre-compiled binaries) for HP-UX v10.20, and I've made enquiries about the same for Linux/SMP for when the Linux 2.3.x kernel comes out.
Is there any interest in starting to provide pre-compiled binaries for different platforms? It's something I need to move towards with Linux, so that I can get GNQS into various Linux distributions - the main problem is making the compile-time options runtime instead. If this is a popular request, I'll do the work on the compile-time options soon rather than later ...
Not much else achieved tonight, as I'm assisting with a training course at work tomorrow. However, I'm at home all day Friday, so I can hopefully make more in-roads into v3.51.0.
First diary entry ... I've never kept a diary before, so if I don't seem to be updating this, please drop me a reminder!
Looked into a problem with compiling on Solaris 2. My third or fourth enquiry about making GNQS compile on Solaris without the native compiler. Decided I should make a pre-compiled binary available, but unfortunately GNQS 3.50.4's SETUP didn't work out of the box on the Solaris 2.6 machine I've access to. The Configure script seems to be getting function parameters all mixed up.
I've no idea why, and all of that code has been totally replaced in GNQS 3.51.0-pre2, so I decided not to pursue it tonight.
Spent yet more time looking at the problem with Digital UNIX & qstat. Lost track of just how much time this has taken ... practically all of my time since Easter. We're now working through the tcpdump output which has been kindly provided to see just why the client doesn't get a reply ... the server machine closes the socket very quickly after sending the TCMP_CONTINUE packet, as if the NQS netdaemon had crashed (we know it hasn't from other debugging output).
Put together (very) rough pages for this diary, and the project plans.
The plan makes interesting reading already, even without any dependancy information. The list of things to do isn't as bad as I thought it would be, although the time it'll take to clear everything down is still significant. If you can run Microsoft Project, I suggest downloading the native file and having a look.
I'm going to be using the plans to manage the schedule for the GNQS project; if it's not in the plans, it doesn't get done, and it gets done in the order in the plans. The idea is for NQS users to let me know what order they want things done, and I'll arrange the plans to take consideration of what order things need to be done technically to make your wishes possible.
The other thing which will come out of the plans (especially when I've a detailed plan together which includes task breakdowns) is a set of project metrics. Anyone who's followed the GNQS project for the last few years will be well aware of how inaccurate my deadlines have been to date. By building a good set of metrics, over time we can sort this little problem out too.
All this has meant that I've not had chance to investigate why GNQS won't set a task's nice value to 20 - tomorrow night Peter, I promise!