Monday Aug 31, 2009
Compared to the last 2 years of mud, it was a relief that the worst the weather did was give a serious threat of drizzle, but backed off before going through with it. The 2 previous years where we spent 3 nights sleeping in a VW Transporter van with 2 children under 5 who spent the day playing in the mud did test the resolve.
The Beautiful Days festival at Escot Park in Devon in now in its 7th year and it has taken me a week to get round to writing it up. The Guardian describe the festival as a family based folk punk hoedown with give a high level flavor. It is a middle sized festival at around 10,000 people with a mix of bands drawn from folk, punk, reggae and rock spanning the last 40 years of music, for example Hawkwind played the same stage and evening as The King Blues. With a couple of stages, you can't see every band and we also spent some time in the kids area. My highlights were
- Hawkwind : 40 years and still delivering the nearest thing to space travel through the medium of guitar based rock. Great laser show and they really deliver a wall of sound. Probably my top act of the weekend aided only by the products of the Otter Brewery which may have put me in a minority.
- The highlight in terms of exposure to new bands was The King Blues which was a folk punk mash up with some punchy lyrics.
- An other highlight of the past for me was The Blockheads. I am proud that the 1st record I bought at the age of 10 was "What a waste" giving me some punk credentials 31 years later.
Really nice balance between remembering Ian Dury and being a current band.
- I have seen the Levellers so many times, that I can't judge if they were better or worse than previous times
or other bands. I enjoyed it and playing the whole of "A Weapon called the Word" panned out well.
- Its hard to say it, but I found The Pogues a partial disappointment. There is something special about Shane MacGowan which still comes out, but he came across as being in a bit of a state(read hell of a state). Still, the Pogues were a band I had wanted to see for a long time and I am please I stayed around.
- Pronghorn, the worlds premier Cow Punk band was good fun. Suspect the are in a Gene pool of one, but still a good act for a open air stage in the afternoon.
- It should not work, but it did. Les Tribute are all dressed in red, mashing up covers of disco, rock, new romantic and every other type of chart hit from the 1980's with serious showmanship and humor. Went down really well. I am curious how they find bands like that.
- I had not heard of Lamb, Gong or the Subhumans, but all were a good way to spent an hour or so.
- I have seen Dreadzone a couple of times and they were on form. Small people really got into the spirit of it during their set.
- Howard Marks was interesting. I disagree with almost everything he says, but he is still good value listen to
- Mitch Benn who does the music bit on Radio 4 "The Now Show" was very good indeed.
- There is a lot of other stuff going on including full contact Morris dancing where they hit each other with 2 inch wooden sticks, various modern sculptures, a golf carts dressed up as a pirate ship and the option of Confession with Nuns who have whips (it would be quite hard to explain).
So, much fun had by the King family once again, made much easier by the weather and we hope to do it again next year.
An assortment of images.
Next race is the Nant Peris Horseshoe on Saturday at 18 miles and 8500ft of ascent where we have something to prove after last year's rather poor showing.
Friday Aug 07, 2009
Tomorrow, I am talking at the UKUUG conference which I am really looking forward to.
Well not actually my talk, but the event itself. I still have a very fond memory of the 1st UKUUG conference I went to in Herriot Watt University in I think 1992 and it influenced all sorts of things down the line including the series of Sun events I termed Mashups held at various UK Universities in the last year. Just technical, no marketing.
Saturday Aug 01, 2009
Chris has been exploring various limits of a lab M8000. Inspired (well, umm, also maybe board on a conf call) by this and prompted by a Twitter update on Google and recursion from Alec (don't recall if I read it first
on his blog or Twitter) got me thinking about how deep you can recurse on a modern system? So wrote some code. The marginally tricky bit was setting up the alternate stack to handle the signal on with sigaltstack.
#include < unistd.h >
#include < stdio.h >
#include < signal.h >
#include < stdlib.h >
#include < sys/resource.h >
#include < sys/mman.h >
static void handler();
static void recurse(void);
static int depth = 0;
int main()
{
struct sigaction act;
struct rlimit rlp;
stack_t ss;
getrlimit(RLIMIT_STACK, &rlp);
printf("RLIMIT_STACK = %u:%u\n", rlp.rlim_cur, rlp.rlim_max);
act.sa_handler = handler;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
act.sa_flags |= SA_RESETHAND|SA_SIGINFO|SA_ONSTACK;
if (sigaction(SIGSEGV, &act, NULL) < 0) {
perror("sigaction failed");
exit(1);
}
if ((ss.ss_sp = mmap(NULL, SIGSTKSZ, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANON, -1, 0)) == MAP_FAILED) {
perror("mmap failed");
exit(1);
}
ss.ss_size = SIGSTKSZ;
ss.ss_flags = 0;
if (sigaltstack(&ss, NULL) < 0) {
perror("sigaltstack failed");
exit(1);
}
recurse();
}
static void recurse(void)
{
depth++;
recurse();
}
void handler(void)
{
printf("depth = %u\n", depth);
exit(0);
}
1st attempt on a Macbook with OSX gave a number of 524030. We then moved to Solaris Nevada 110 running on one of our x86 lab system. Also tried the S10 Sparc stable server. The Sparc numbers are a lot smaller than the x86 numbers. The Sparc numbers are similar on Solaris 10 or Nevada. What a great microbenchmark this would make to base purchases on, how deep can a system recurse with no function arguments passed. Many purchasing decisions have been made on the results of benchmarks of similar relevance to the business problem in hand so lets not dismiss totally. Anyway, back to reality.
On a Solaris 10 Sparc box we get
ebusy(5.10)$ cc -o recurse recurse.c
ebusy(5.10)$ ./recurse
RLIMIT_STACK = 1000000000:1000000000
depth = 10416627
ebusy(5.10)$ cc -m64 -o recurse recurse.c
ebusy(5.10)$ ./recurse
RLIMIT_STACK = 1000000000:1000000000
depth = 5681792
ebusy(5.10)$ uname -a
SunOS ebusy 5.10 Generic_137137-09 sun4u sparc SUNW,Sun-Fire
and on the Nevada x86 lab system we get
exdev(5.11)$ cc -o recurse recurse.c
exdev(5.11)$ ./recurse
RLIMIT_STACK = 2147483647:2147483647
depth = 16812966
exdev(5.11)$ cc -m64 -o recurse recurse.c
exdev(5.11)$ ./recurse
RLIMIT_STACK = 1000000000:1000000000
depth = 62499512
exdev(5.11)$ uname -a
SunOS exdev 5.11 snv_110 i86pc i386 i86pc
I am sure there are some games to play with increasing the hard stack limit or allocating the alternate stack a huge segment of memory and recursing through that as well. However, over 62 million stack frames is adequate for most recursive situations which will complete.
Interesting that compilation with -x02 or higher leads to assembler that does nothing and the code just sits in a loop without ever calling the function below.
exdev(5.11)$ pstack `pgrep recur`
17659: ./recurse
0000000000400f80 recurse ()
exdev(5.11)$
So a few interesting questions that will have to wait for the next conf call where I don't need to pay too much attention.
Hey Clive,
Enjoyed your talk at UKUUG but was wo...
Thanks, always nice to know. Drop me a mail a...