This is my fourth Geek Cruise, but it's the first pounding through open ocean where the Report From the Bridge to stateroom TVs says the ocean conditions are "rough", with waves from 7 to 12 feet high. This report is followed by a chart that shows waves lapping in that height range, with plenty of overhead to where the chart stops, at 40 feet. Yet the 28 to 33 foot delta seems small, somehow, when you're looking at the TV at 3:00am wondering if being rolled out of bed by the boat's yaw is cause for concern.

Notes from the boat.

One thing Microsoft did that was a true benefit to the entire industry. A machine would not be ready for windows 98 unless it has a pure PCI bus on it. And killing off the ISO bus in the process. you can actually prove the device in advance, now what's in crtan aireas, and know what's actually going on.

if yo uconfigure a high performance system, you want to make sure they support multiple IRQs, so you don't force interupts to happen needlessly. PCI supports four IRQs.

It's only the amateur professional paranoids who really care about devrandom.

BSD actually created c_random or def_random to random number generation in kernel space. There is no reason why this needs to be in the kernel.

all kernel code operates in a process context.

in 2.4 you are never pre-empted by other processes. kernel code may yield explicityly

in 2.6, kernel code may be pre-empted if config_promot is enabled (more later)

betweeen service pack 3 and 4 they ripped out their networking stack. they rigged the mindcraft benchmark, ...

back then linux had a single threaded networking stack. in service pack 4 the networking stack changed.

microsoft set the whole thing up and had microsoft push the button. The test was done with multiple...

this inspired the networking crew for linux. for 2.4 the net stack became fully ...

this made 2.4 a quantum leap better. thanks to microsoft's friendly encouragement in terms of the mindcraft benchmark.

the scheduler and IO subsystems still needed work. but the networking stack got fixed right away because of the mindcraft benchmark.

(note how *competition* works here)

all systems are numma. but how numma are youbefore you admit that youi're numma

a lot of stuff is left over from Netware where a lot of stuff is done in the kernel.

workqueues allow yo uto write single-threaded programs that block

list of kernel-mode CPU time is stacked by order of priority.

the thundering herd problem. wake up many processes that rush for the cpu.

so you have wake one semantics

NOTE: THIS IS SPEECH. even poetry.

CODE IS CREATURE. you wake it up. you put int in a queue. you have protocols. what it says. it sleeps. it has calls. semaphors. wakeup. cares about truth. it runs . yhou interrup it. you have schedules. A kernel is a sociaty. scale. "calls"

carpentry: benchmark, lock, cache

4-"way" what does "way" mean?

a civilization.

reader, semaphore, busy, loop. spinlock, care (verb), wait, disable, critical, control run share real sleep schedule idle niceness accumulate sweep credit (in goodness is well-being) shortcomings (well-being as distance, or height), identity, wonder, address, pointer chunks get fetch find pass-on allocate buddy slab object

low-level

back-of-the-bus (transport, caste)

prediliction. optimization. reader task parent memory nest block

linux is fundamentally nonpreemptable system.

when you call sched

you have logic to order,

In the beginning was the word. But before the beginning was speech.

corporations want to sell big-ass machines. they want to create scalability to add resources at the high end without affecting the 2-cpu case. you can't impact low-smp performance. Do locking on the cheap in low-smp systems. working across many nach8ines rather than point-optimized for one in the spectrum.

sports: cache ping-pong effects

what's inside a process. a task_struct.

fork clone task thing parent

thread

don't hgave the big accounting and manufacturing packages

Subversion is a really useful thing. — Charles Roth