(Or: rose-coloured glasses are both the blessing and the curse of being in love)
But first, the obligatory disclaimer, in case you missed it. Thanks.
Remember where I left on the previous post? Now, with greater confidence, I set myself to improve my original algorithm’s performance even further. But that’s just because I knew it sucked. It was extremely inefficient as far as implementation goes; it looked great in the benchmarks because it was being compared to O(n) (n being the number of threads in the system) algorithms, while it had O(1) complexity, so I already had a head-start, so to speak. Still, I knew the algorithm very well and understood that there were plenty of bottlenecks to fix. I wrote it, after all.
For those who don’t know me (or my GSoC assignment) already, I’m the one assigned to ticket #1069, namely:
Create an O(1) thread scheduler with CPU affinity and soft real-time support which targets desktop responsiveness.
I’d like to dedicate my next few blog entries to introducing myself and discussing how I got here, why I wanted to tackle this specific task, what background I have regarding the subject of thread scheduling, how I failed miserably to realise that my first attempt at designing an algorithm suitable for Haiku’s needs had fundamental flaws, how far I am at my second attempt, and the obligatory comparison to Ingo Molnár’s Completely Fair Scheduler that has been making the news in the Linux world.
According to current Haiku source ICMP implementation is only a … framework. Only ICMP echo request messages are processed.
There are essentially two RFCs that should be considered when implementing ICMP (for IPv4). RFC792 - ‘INTERNET CONTROL MESSAGE PROTCOL’ and RFC1122 - ‘Requirements for Internet Hosts – Communication Layers’.
According to RFC1122, paragraph 3.2.2. there are two types of ICMP messages a host must process:
ICMP Error Messages Destination Unreachable Redirect Source Quench Time Exceeded Parameter Problem ICMP query messages: Echo Information Timestamp Address Mask First of all, I plan to implement a generic icmp_send_data() that should be used whenever sending ICMP messages.
Actually is more than half. This quick post is just to inform you that I wrote the part that schedule an isochronous request in the UHCI driver. I’ve already sent the patch to Michael for his review. The only part that is missing is the code that remove the request once it has been processed or canceled, which is not as trivial as I thought.
Personal rant: my university examination session draws near and with it all credit tests as well. I’m doing my best in time management not to put any of my current tasks and projects into starvation, but exactly as Ryan wrote to me - it’s not easy.
Going back to more Haiku-specific topics, last week I was mostly analyzing the .pkg format Be Inc. left us behind. After some tests, most crucial parts of it are clear to me now.
Haiku Admin Meeting 2007-06-04: There was some discussion about the status of several of the GSoC students/mentors now that GSoC has officially begun (May 28th). A couple of minor notes about some website changes were mentioned. Looks like June 4, 2007 was a short meeting :) I would like to remind readers that any official discussion about the decisions made by the Haiku Admins should be directed to the General Mailing List.
Haiku Admin Meeting 2007-05-28: Discussion about new "Admin organizer" internal-use website for managing tasks, admin votes, etc. Some discussion took place about possibly organizing a physical "admin gathering" somewhere. Michael Lotz has volunteered, and is currently a primary candidate for "Project management" type tasks. Mention of the need to assign/complete the Haiku, Inc. 2006 financial publication. Discussed Haiku Compatible Badges: It appears many are currently in favor of Stephan's designs.
As many of you know, I’ve started working even before the SoC started officially. I’ve already sent two patches to both my mentor (Oliver R. Dorantes) and Michael Lotz for review. One of them has already been commited by mmu_man (thanks). The second one is under review. With this latest one, the usb stack manager should be complete, as the QueueIsochronous method has been implemented, along with the CalculateBandwidth. My next move is to implement the UHCI isochronous method.
My name is JiSheng Zhang. I come from China. I am one of the Haiku’s GSOC2007 students. My work is implementing a FireWire stack with support for mass storage and DV cams. I plan to port the FreeBSD FireWire stack. I will do my development under debian.
After google anouncement on April 11, I spent time in building Haiku, running on the real PC and reading the source code of haiku’s PCI and SCSI sub system and other code about driver writing.
Haiku Admin Meeting 2007-05-21: Admins discussed OpenBFS Team broadening - it has currently been renamed to File System Team and should probably include all file system-related aspects of Haiku. There was some further discussion about other OSS projects and their similar struggles with "Openness" - Mozilla's recent scrutiny was cited as an example. There was a request for any final comments on the list of non-dev/non-admin tasks posted on the Admin mailing list.