Archive for the 'Life' Category

Let’s talk micro kernels

Thursday, February 14th, 2019

Over four years ago I wrote about Why monolithic kernels are fail and last night I live streamed some talk about micro kernels:

And in my famous prior art patent voiding serious I wanted to formerly disclose a potentially novel system call implementation detail idea: In multi server micro kernels context switches happen more frequent than in simple, shared address space monolithic kernel (such as Linux). This is due to device drivers (and filesystem, network stacks and hopefully everything else, ..!) hopefully running in regular, isolated processes. This is obviously great for security and stability, but naturally requires way more context switches that can hurt performance. Now slim and lightweight micro kernels (such as L4) are usually quite optimized and often require less instruction cycles for inter address space context switches, however such a horde of multiple servers will execute multiple times more of those. Now my (novel?) idea to further minimize the costs of context switches is to bundle system calls in batches (or molecules? ;-) so that an application (or device driver, after all they should now be regular processes, …!) only context switch once for a couple of system calls. The exact ABI calling convention and format has to be defined by the implementor and implementation, for simplicity let’s assume some kind of “protocol buffer”, so a open, read, seek, read sequence could look like:

syscallnr | arg0 | arg1 | arg2 | …
read | fd | buffer | 128
seek | fd | -128 | SEEK_END
read | fd | buffer | 128

The same concept obviously applies to all kind of similar operations, and is somewhat similar to the existing Unix concept of writev(), and it’s iovec structure – just way more generic and flexible.

As a bonus point for more flexibility, one could either implement it so, that the syscalls are executed one-by-one until the first error, or optional –for a little more flexibility– introduce flags / tags of groups to execute until and error occurs or not. E.g. the operations might be related to two different file descriptors, so the other tagged group could still be executed, even when one of them failed. Obviously error checking for the calling application becomes a multi return value operations, instead of just a single if (!read/write/…) {} block.

Nice rsync progress?

Wednesday, January 23rd, 2019

Rsync -v (–verbose) is too verbose, scrolls too much text on your slow Linux graphic terminal? Then maybe this tip is for you ;-)

–info=progress2

Still searching for the perfect laptop…

Monday, January 14th, 2019

Over a decade, 12 years (!!!) ago I wrote about who designs this crap (this millenniums laptops). And here we are the Apple MacBooks became even more unusable, with soldered in RAM, SSD, really crappy keyboards, that get stuck by mere dust. And while I would love a nice generic quality PC, there is always something wrong with each and every model. Thermal throttling, crappy keyboards, too. You name it. It is no wonder that PC sales are declining when users can not find a good and matching device:

Linux on macOS w/ Xhyve & Hypervisor.framework

Saturday, December 8th, 2018

Just the usual quite note for myself ;-)

xhyve -A -m 512m -c2 -f kexec,~/Downloads/boot64/vmlinuz_4.19.4-dist,initrd2,”earlyprintk=serial console=ttyS0 root=/dev/vda1″ -s 0:0,hostbridge -s 31,lpc -l com1,stdio -s 2,virtio-blk,~/Downloads/linux-vm.img -s 4:0,virtio-net -s 5,fbuf,tcp=127.0.0.1:29000,w=1024,h=768

AHCI PCIe SSDs

Sunday, October 7th, 2018

I thought we went from SATA connected (to AHCI board controllers) straight to PCIe connected NVMe protocol. Turns out there was a short time of PCIE connected SSDs with an AHCI controller. And of course Apple used them:

One can never have enough dongles^W proprietary connectors to lock users out, ..! :-/

Can we keep driving ICE cars? Fuel economy

Saturday, October 6th, 2018

My first car –I now drove for 6 years– is a 2012 Mini Countryman SD. Usually I accelerate softly, follow in slipstreams and engine brake. In other words some form of light hypermiling. So with our Countryman SD, which has the 2L turbo-charged Diesel engine and a classic torque converter automatic transmission, even without start/stop automatic I get:
Mini Countryman SD 2012 - 2L Diesel:
@100km/h: ~5 L/100km
@120km/h: ~6 L/100km

Now we may have to switch to something non Diesel soon. Electric is not yet an real option, as I usually do not drive in Berlin, and only driver longer distances, e.g. thru Germany or neighboring countries (in Berlin I walk & public transport). I also do not like the Tesla all-touch controls as well as their spare part and such policy. I may consider an BMW i3, however, for a start I test drove a base Porsche Macan, 2L gasoline to experience an quality upgrade after 6 years. This was intentionally the small engine, to target better fuel economy, 2L gasoline, also turbo-charged but with PDK, double clutch transmission and finally WITH start/stop automatic. I actually had to drive really carefully, a bit more hypermiling to even reach:

Porsche Macan 2017 - 2L Super+:
@100km/h: ~8 L/100km
@120km/h: ~10 L/100km

I have to say I was hoping for a little less. Now this was the base engine, not the 3L V6, not an 911, Ferrari, Lamborghini, or McLaren. AND driving really slowish. Now even when I driver our Mini Countryman I’m usually one on the slower side to do my part in slow down global warming and usually other driver overtake more on the crazy side. When you watch some famous car YouTubers you probably understand what I mean. And they drive sport cars, Audio R8, Lamborghinis, Ferraris, McLaren you name it. And they accelerate like crazy. So I estimate they consume more like 20 L/100km :-/

Now my question: In this day and age, of global warming, causing forrest fires, hurricanes, floods and more. Why are not more people thinking about this? Heck, even all the non-YouTubers, normal people overtaking me with 160, 200 km/h or even more when I roll 120-130 in other’s slipstream, consume way more than they realistically need to. They need to waste their momentum for other drivers, construction sites and regular speed limits anyway, and arrive how many few percent faster than us hypermiling with 120 in other’s slip stream? When I watch many of those drivers I estimate they could easily save 50% if not more of their consumption, ..!

Is is not clear that we need to do something?

This is also quite significant price-wise, to drive 1000km @ 120 km/h – German € gas (Super+) and Diesel prices of today:

MINI Countryman SD: 6L x 10 x 1.31€ = 78.60€
Porsche Macan: 10L x 10 x 1.54€ = 154.20€

And finally my Re:score:
Fuel economy: 3
Practicality: 6
Comfort: 5
Features: 7
Quality: 7
Styling: 7
Handling: 7
Acceleration: 4
Cool factor: 5
Value: 5
Total: 56 of 100

At first I wanted to rate it Doug DeMuro score compatible, but then it struck me that he does not even have a fuel economy rating. Priorities! Guess he only factors it into “Practicality”, if at all. I therefore scratch the quite useless “Fun factor” while he had “Cool factor” already anyways, ..!

Finally the first AMD ThinkPad!

Friday, September 21st, 2018

For decades fans of AMD, the inventor of x86-64, GPU infused APUs, and avoiders of a 100% Intel x86 monopoly where longing for a really high end quality machines, like IBM^W Lenovo ThinkPads. The dream came finally true, with AMD Ryzen w/ Vega gfx ThinkPads A285 and A485 this year.

This is a developing story, we will update with a review in a day or two.

Resist NVidia, especially for Linux

Friday, September 7th, 2018

So I do Linux kernel, driver, libraries, gcc, development since 1998. A little bit everywhere, all over the place. X86, ARM, PowerPC, SPARC you name it. I contributed to the Linux distribution ROCK Linux, later became stable release maintainer, and still run the fork #t2sde for embedded and special custom Linux distributions. My company ExactCODE was involved in many embedded projects and development like that, and in 2008 a customer wanted to base a product on the Nvidia Tega SoC, so I wrote Nvidia if they could release us any register level spec, even under NDA, to work on such a project. To my surprise I got an answer, but it was a simple one-liner, and not really what we needed to hear:

How is your Windows CE experience? We are not supporting Linux on Tegra.

Received: from hqnvupgp03.nvidia.com (Not Verified[172.17.102.18]) by hqemgate03.nvidia.com
id ; Tue, 22 Jul 2008 12:56:40 -0700
Subject: RE: NVidia SoC SPECs for Embedded Linux systems
Date: Tue, 22 Jul 2008 12:57:03 -0700

How is your Windows CE experience? We are not supporting Linux on Tegra.

—–Original Message—–

For the currently engaging projects we need solid 3D support in
our portfolio we would kindly ask for the possibility to sign an NDA
to receive register level specs support NVidia’s latest integrated
embedded SoC’s in our boards support offerings.

Just for those why I can not, and will never recommend chips without register level data sheets available to developer, ..!

AT command notes

Thursday, March 15th, 2018

so it is that time of the decade again, that you need to poke with some AT modem commands, e.g. for 3G / LTE networks, …

Does the SIM card need a PIN?
at+cpin?

Enter the PIN if required:
AT+CPIN=1234

Current network:
AT+COPS?

Update: special service numbers, e.g. balance:
AT+CUSD=1,”*100#”

List of early computing systems [WIP]

Monday, March 12th, 2018

I think we initially had a 286 without HD, nor color graphics
my father’s 386sx25 w/ 2MB RAM for what feels forever
gifted free NEC V20 XT clone thing
Pentium 120
IDT WinChip2 240
AMD K7 Athlon 600
AMD K7 Athlon 1GHz?
Sun Ultra 5 4/2002
Sgi Octane 11/2005
iBook G3 750?