A geeks blog
Sat, 30 Apr 2005
Bugs, Bugs & Bugs
Category: Advogato
I've been drilling into the inner workings of my changes, they seem to work for all of my tests, but I wanted some more confidence.
It appears that my patches break the counting of fackets_out (which I haven't deciphered it's use yet). It causes no known effect, but that does not mean it's not a bug.
Where did I put the pesticider? (An environmentally clean pesticider! -- It is actually proven to work, it hasn't killed any pest! :-)
p.s. relayfs rulez! I'm pumping tons of data out of the kernel for tracing purposes, and it just works, with little damage to performance. (Derry, this is the case where gdb is not helpful).
More patent licensing
Category: Advogato
We've had a conference call with Diane Peters from the OSDL and Matt McCooe who is responsible to licensing for NUIM. This will hopefully help to clear up the issues.
It was suggested that releasing the code under the GPL gives implicit license to the patent, but that to ensure that no-one will fear future litigation we can license the patent to OSDL for sub-licensing.
This is in the works now, and I've communicated the above to the kernel folks and at least Dave Miller said that he sees no trouble licensing-wise with our contributions.
Hopefully now our patches will receive the technical review that they need to continue their journey in the linus tree.
Wed, 27 Apr 2005
Performance issues with 2.6.11
Category: Advogato
I'm close to being desperate with 2.6.11 with regards to TCP performance, some change or another between 2.6.6 and 2.6.7 killed performance and I can't find anything wrong, not in the TCP code and not in the e1000 driver.
On 2.6.6 with only H-TCP patches, I'm getting 300Mbit/s (and 40ms rtt) with no troubles at all. In 2.6.11 I'm lucky when I'm getting 150Mbit/s. The H-TCP port between the versions is simple enough and has no real changes.
I'm not sure if it's something that I did wrong in my porting of the code, or something in Linux itself. I'm close to leaving it for now and returning to it later, but it does mean that I'll probably leave my patches unsubmitted. Which means more work later on when I come back to it, forward porting the patches from 2.6.6 to whatever will be the version at the time.
Licensing, Patents and in between...
Category: Advogato
We have finally got the approval to release H-TCP under the GNU GPL, it's been a long time and quite a bit of work to convince the university administration that it is ok to do so and that they will come to no harm by approving it. So I've submitted a note about that to LKML, only to get back a message that we need an explicit patent license for the pending patent. That means another long wait, and more dealings with the bureaucracy to get that sorted.
The problem begins with the way research is funded, you always have some strings attached. You need to show later in some review how good your research is and the fruitful results it brought humanity. Only that everyone is just so damn busy to really understand the results that they prefer to see more "tangible" results, such as patents, articles and such. You have some new code for Linux Kernel? We care not about it, we prefer an almost useless patent that is unlikely to bring any profit over real benefits to humanity.
And so you have a patent, except that you don't own it. The university does. So in order to allow others to use your invention, you need to ask someone (more often than not, more than one person) for permission to release your work for the general good. It sucks.
Basically the administrations that run the universities have lost sight of the real purpose of universities and are just looking at everything through the financial reports. No wonder RMS quit MIT to do his Free Software, he'd probably still be fighting with the administration to get a single program released with sources.
On some happier note
On the suggestion of David Miller I've contacted Diane Peters from OSDL to help us understand what we need to provide so we won't stumble through the maze like blind folks. She had agreed to help which is great, so we are trying to organise the meeting with her to get the information and then we'll (hopefully) be able to sort it all out.
Wed, 20 Apr 2005
MSc seminar presentation
Category: Advogato
I managed to get my presentation done in time and in a good manner. I covered most of what I wanted, though I left out the actual technical details of my work. It was a postgrad seminar presentation and my time slot was short as it was (30 minutes).
I didn't get a lot of feedback, but what I got was that it was good.
English not being my mother tongue I sometimes got stuck to find the best word/phrase, but got over it.
Not too bad overall. The slides are temporarily at http://baruch.ev-en.org/Baruch_seminar.pdf
Now I need to go back to my work, get performance of 2.6.11 to be at least that of 2.6.6, get the patches in order and send them to netdev for review.
This time I hear the H-TCP patches might have their license issue solved, so they have a fair chance of being included.
Mon, 18 Apr 2005
Quilt-Compile-All
Category: Advogato
I'm using quilt to maintain my kernel patches, and it's nice and dandy, but sometimes you need to validate that all your patches are applying and the kernel compiles at all stages, Enter quilt-compile-all script:
#!/bin/bash
set +e
function die {
echo "$1"
exit 1
}
[ -d patches ] || die "Are you in a quilt managed directory?"
quilt pop -a
[ $? -ne 2 ] && die "Quilt pop -a failed."
make clean
[ $? -ne 0 ] && die "Make clean failed."
make -j2
[ $? -ne 0 ] && "Initial make failed."
while [ "$(quilt unapplied)" != "" ]; do
quilt push
[ $? -ne 0 ] && die "Quilt failed."
make -j2
[ $? -ne 0 ] && "Make failed."
done
echo "Compilation succeeded."
exit 0