Older blog entries for riscgrl (starting at number 27)

Patch 48 of 2.6.17's tree commentaried.

This patch has some code wrapping the socket layer, to make our code in hpc/ simpler, along with a function wrapping daemonize, and setting our scheduler settings. the scheduler wrapping function includes a 'high priority' mode we don't use, that I'll be pulling.

I've started work on polishing the patches for the tree, which showed me an ugly case where we're abusing macros to implement something the kernel already has a function for, and we implement it wrong. I'm not sure whether we should pull our implementation and use the kernel's, or what. Code Archeology on this level is Not Fun.

In my day-to-day life, nothing much is happening. *still* no word from my prospective employers. Just getting poorer. I still don't regret things between me and my last workplace breaking down, however. I'm just not comfortable in a workplace that patently dishonest.

Committed the first patch to the tree I concider to be in good working order.

LinuxPMI's tree is a collection of hunks, in one giant patch. Again. I keep getting code dumped on me in this fashion, and have to go through it line by line. In this tree, I've decided to push patches through my kernel coding standards process as far as they'll "reasonably" go, so I can spot even more bugs. At least theres only 93 hunks in this tree, unlike the 322 hunks in the 2.6.17 tree. That said, I know there are cases in the 2.6.17 tree where bad code was replaced by *worse* code, which is why I haven't just flattened the patches, like the tree started.

I made it most of the way through patch 48 on the 2.6.17 tree last night. Its a combination of socket layer wrappers to make our other code more readable, and a function for registering our kernel thread. What a combination!

I'll likely be done with patch 48 sometime tonight. Once i get out of the hpc/ directory, the patches should be much easier to commentary, and I'm almost there. From where I'm sitting, I've done most of the 'ugly' work over the last year, and am about ready to start work that will actually improve the quality of the code base itself.

17 Mar 2009 (updated 17 Mar 2009 at 05:56 UTC) »

Patch 47 Commentaried.

This patch contains functions for handling communication from the home node (signals) during the jump from kernelspace to userspace. it also contains C routines for handling system calls that need to be performed on both the home node and the remote node, AND it contains functions for performing filesystem queries on the home node.

Welcome to everything in one file.

In my personal life, I'm poor, going into debt, and getting more stressed by the day. My new job has done three kinds of background check, and a drug check.. but no other paperwork. The employee who has my old job is still bugging me for technical help, and I'm not quite impolite enough to just tell him off. So, I'm just ignoring him for now. I'm sure he'll contact me when things get *really* bad for him. Which will probably be good for me. At the very least, it will be nice to hear how screwed he is. ;)

To add hilarity to injury.. I still get all my daily reports from the systems, including encrypted transmissions from our affiliate banks. I know they know I'm getting them, the new admin had to add himself in the same aliases entry as I'm in. This is not rocket science, people. I'm tempted to report the emails as spam. ;)

In other news.. no other news, I'm boring. Saw the 'Watchmen' movie, and loved it. I've also been watching "Studio 60". It figures that they remove all the *good* television from American TV.

Yay! Patch 46 Commentaried.

Patch 46 handles the additions we make to the /proc filesystem for administrating the local nodes, and telling the system to send processes remote. Its in reasonable shape, only requiring minor cleanup.

Things between me and what used to be my workplace have completely fallen apart, which is actually a good thing. I'm *SO* relieved, its not funny. I'm still trying to put together my next job. It seems like every time I almost get everything straightened out, they put another hurdle in front of me.

One of my users has done a semi-hackish job of porting LinuxPMI to Now I have another 13,000 lines of kernel patch to go through. Its still early in the development process, but its nice to have a more modern kernel to go through. I'll continue trying to make the 2.6.17 branch healthy, while keeping the branch tracking something a bit more current. I'm glad I've been getting better at this commentarying of kernel patches. Hopefully, it doesn't take me another year to go through this patch. ;)

patch 45 commentaried. this patch breaks a task into its components, serializing them and transmitting them across a socket. technically, the process never dies locally, so its memory is NOT freed. the 'root node' of your LinuxPMI cluster needs to have all the memory to contain all the processes, even if this memory is not kept in sync by a task when its remote.

In my personal life, I've had a whole bunch of my property stolen, and know the person who did it. despite that, the law is virtually useless here. I've only been able to find one item of mine in a pawn shop, and had to basically force the local police to take it off the shelf. even after that, I don't get to keep it. My understanding of the way law works here, the pawn shop keeps it, until I pay them what they paid for it back at a hearing. Only, the thieves traded for store credit, which is full shelf price. I might as well have bought my stuff off the shelf.

And it will still take months.

So, I'm out some $7000 in property. Just what i needed, to have a DARKER world view.

At least I've gotten moved out of the place that was all stolen from, and seem to have landed amongst a bunch of good people. Its strange, I haven't really experienced a good sense of community before. I've always had bad luck, being good to bad people. I'm glad to have that, otherwise, I'd be in a much darker place, internally.

I've lost my dayjob, good riddance. Ever since i took it back, the manager in question has never been able to talk without lieing to me. I was WAY tired of that. When you quit, and your boss quits with you, don't go back. If i hadn't gone back, I think I would have done much better at some of the high profile interviews I had shortly after taking it back. Hindsight is 20/20.

I've got a new job somewhere on a string, heres hoping that string doesn't get severed. Its 100% open source work, but in an even less 'Enterprise' environment than I've been working in, for the last.. god, 7 years?

At least I got through this patch. Only 53 more to go until release!

Wow. Quite entertaining. Finally got done commentarying patch 44. And almost through patch 45.

Patch 44 is the code responsible for receiving a process from a remote node. Its quite good reading, from a 'constructing a process from scratch' angle.

In the middle of this patch, an ice storm hit Northwest Arkansas, and knocked the whole area for a loop.

During the night, the only sounds you could hear were the tree branches falling, and exploding transformers. sounded like what i think a warzone would sound like, with no automatic gunfire, only single shots.

Woke up in the morning, and ran into work. had to get the boss to drive a 4X4 over, and i still almost didn't make it. And I'm less than a mile from my workplace.

I took some pictures of the damage, while i was checking on the local freegeek office, which was of course without power. kicked some malfunctioning almost-dead UPSes.

Emergency mode isn't the word. I'm still fixing things, today. Obviously, the linuxpmi.org webserver went down, killing my ability to commit patches, but I shouldn't complain, many people on the main drag in the cities are still without power, much less outlying areas.

I'll post the pictures I have somewhere useful, and post a link here eventually. The most shocking part of the storm wasn't what was on the ground, but what was on TV, or lack thereof. What I was working through was worse than what was on CNN. What lazy newspersons. even the local stations didn't go more than a hundred yards down the road, didn't find any of the hardcore damage. They call this stuff news?

My backyard is nothing but tree limbs. where I could once only see three of my neighbors, I can now see eight. Most of the trees in my yard were decimated, and i got the rear window of my favorite car smashed in. I guess i'll have to sell it now. I was supposed to get this car fixed, as part of the terms of signing back onto the job i walked out on.. but as usual, bait and switch by these guys. Maybe i'll quit , or they'll get upset enough to finally fire me. i doubt either scenario currently, since they own the 'loaner' i'm using. I really am tired of working for scum. ;)

Patch 45 is pretty much done, too. I just have to do a quick side-by-side skim with the commentary and the code.

Patch 43 re-commentaried. this patch is mostly the top level entries to 'task move to node' code, and the level directly beneath that (task move to remote, task move home, etc.). This code was full of direct uses of printk, along with not checking results, and even an unimplemented function, returning success.

Work has picked up this week. Minor hiccups, nothing too ugly. I had more problems dealing with the people who had technical problems than I did the technical problems. Seriously, i was about that far from just throwing in the towel when everyone just seemed to decide to stop annoying me. teaching my boss to use email has been a rather arduous task, and i don't think he'll ever stop double clicking internet links.

We're still doing the 'you need written specifications' dance. He just wants it to 'work like windows'. only with auto-vpn dialhome, remapping all the keys and some of the pages of the application... Its an unending pile of suck.

Clubbing with the roommate has been entertaining, we've really been running ragged. Looks like I'll be doing some house cleaning for another party tomorrow. at least when we party at home, I get more patches committed. ;)

re-commentaried patch 41.

this entire time, i've been very sick. i've got my regular winter series-of-flu. today, i'm being brave, by not living under a blanket.

hpc/kernel.c seems to be just a resting place for callbacks from both PMI code, and hooks we add to the kernel. i'm not sure if my complete confusion is due to the illness, or the code itsself just dosent go together that well.

i guess you need somewhere to put the random stuff.

wow. been a while since i updated this. i've gone back to work at a previous employer, with a nice raise and a company car. i'm currently commenting on patch 40 of my linuxpmi patches, after re-restarting from the begining again. so, the first time through, i got to 141, second time 47, and am now on 40. this time, it feels more like my documentation is coming together however. I wouldn't feel too bad submitting these 40 commentaries for review, even if not the patches themselves. ;)

at this rate, it will be years until i'm done... but its still work worth doing. i'm actually somewhat enjoying the process, even if it takes *forever*.

Ugh. what an ugly week.

I decided to start at the beginning on my documentation again. the stuff i was writing at patch 47 was much better than the level of detail i provided at the beginning. I naively thought i'd make it to patch 47 again inside of a week.

Then I ran into patch 17.

Patch 17 is the x86_64 entry.S system call insertion. in this patch, we do something evil to the stack (that i still don't quite understand), to make sure space for the userspace registers is allocated and available when we jump to the user_thread handler.

Its all written in X86_64 assembly. I haven't done assembly since before i started using linux.

So now, I'm reading "The Revolutionary Guide to Assembly Language". I'm about 100 pages in. it may be x86, not x86_64, and may cover dos and bios calls, but i'm pretty sure when i get through it, i'll be ready to tackle this file.

On an ironic note, I've already made it through the X86 version of this patch. I'll probably go through it again, before going on to patch 18.

This assembly makes my head hurt.

18 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!