About me

The man behind the monitor, the person behind the patches...

Hi, I'm Edward Cree, and you're here because for some reason you want to know more about me. So here goes.

I was born in Grantham, a town coincidentally best known for Newton (a mathematician) and Thatcher (a right-wing radical), in 1991 (coincidentally the year Linux was begun), and raised in Caythorpe, which by another coincidence is now home to the HQ of Mensa, a club for people almost as smart as me ;)

While at primary school (I think at age 7, but I'm not sure), I was diagnosed with Asperger syndrome; perhaps inevitably, autism has since become a major part of my self-conception and identity. I maintain that at the mild level I have it, autism is not a disability but a superpower; if there were a cure I would not take it (though I'm not opposed to finding one; severe cases are truly debilitating and they deserve the option).

I was educated at Carre's Grammar in Sleaford, where I completed seven A-levels. I happened to be there while the school celebrated its 400th anniversary. Another Sleaford connection was the Sleaford Concert Band, where I played third cornet and learned most of what I know about practical musicianship.

Growing up in Bomber County I was surrounded by RAF history; this and my father's well-stocked aviation bookshelf led to an interest in the subject which inspired both harris and, more recently, fc-aviation.

The first computer I used was probably a PC running MS-DOS 6.22 (it was old enough to have a 5¼” drive!), although I may have encountered a BBC Micro before that. I wrote my first line of code at (I think) 13, a QBASIC program to generate prime numbers. While in sixth-form I obtained my first Linux machine (running Ubuntu Hardy) and began teaching myself C. My brother had a roomful of ZX Spectrums and other 8-bit micros, so inevitably I got drawn into the 'scene' and ended up writing a Spectrum emulator.

In 2009 I went up to Churchill College, Cambridge to read Mathematics; in an echo of Carre's, I was there for the college's 50th anniversary and the University's 800th. I graduated my BA in 2012 with Third Class honours. During my time at Churchill I joined the University Concert Band and Philharmonic Orchestra (both student-run amateur groups), as well as the Atheist & Agnostic Society and Wireless Society (my callsign is M0TBK). I am still active in UCPO and also the Recorder Ensemble, which I joined shortly after graduating. (Since 2016 I have been CURE's "composer/arranger-in-residence".)

In October of 2012, I went to work for Solarflare Communications Ltd., initially as a Test Development Engineer. I worked on the in-house test automation system, a Python application, for some years.

But by 2014 my rôle was beginning to shift. I had been attached to the Linux netdriver team as their test automation liaison, and when the departure of the estimable Ben Hutchings left a hole in the team, I found myself getting more and more involved in driver development. My first upstream Linux patch was sfc: Fix internal indices of ethtool stats for EF10, in late 2013; by 2016 I was one of the listed maintainers for the sfc driver, which I remain to this day.

2014 was also the year I joined the Milton Cricket Club. I don't claim to be particularly good at the game (I'm in the third team, and that's where I belong), but I have made a niche for myself as a legspin bowler, and playing village cricket around Cambridgeshire is always the highlight of my summer.

In 2015, I had a whim and had to obey it, to buy a second-hand French horn, which has since become my primary orchestral instrument.

My first 'breakout hit' patch series was LCO, a technique for efficiently checksumming encapsulated network packets (such as VxLAN). This got merged during the 2016 netdev conference in Seville, which meant that the following day I got to listen to DaveM talking in his keynote about how clever I was :)

In 2017 I got involved in eBPF, developing some verifier improvements as well as a standalone eBPF assembler for building eBPF programs without clang (this was long before CO-RE, so lightweight toolchains that you could deploy easily really mattered).

Highlights of 2018 included enabling ethtool ntuple filters to target RSS contexts instead of single queues (another sfc feature), and the listification project to reduce i-cache misses in the network stack by batching packets. 2018 also saw my first trip to Netconf in Boston, MA.

In September of 2018, things got political, with the Linux Code of Conduct controversy. My dissenting email to the LKML created a minor stir and made me, for a short time, a rallying-point for the fight against SJW encroachment into nerd spaces. Eventually a compromise was reached, but I can't help but wonder if it will be stable in the long term.

By the end of the year, a new hardware design was coming into existence at Solarflare: the EF100 SmartNIC, combining Solarflare networking know-how with Xilinx's FPGA technology. Thus, I spent most of 2019 working on developing OVS/TC offload for this platform, though I still found time to plug listified RX into the GRO system, thus making it available to the majority of networking hardware without needing per-driver support.

But 2019 was also a big year for politics. As a committed Eurosceptic, I started taking part in Leave Means Leave protests, including two days of the March to Leave. I joined the Brexit Party and canvassed in the Peterborough by-election; this was my first experience of door-to-door canvassing, which needless to say is a harrowing experience for an autistic person like me! But I am more determined than ever to make my political voice heard.

Meanwhile at Solarflare, as we worked ever more closely with Xilinx on the EF100 project, they decided to acquire us, a deal which closed in July 2019. Around about this time, Rob Stonehouse, the much-loved manager of the Solarflare Linux team, decided to leave to pursue other opportunities (at Amazon AWS). Thus began a year of change, as I adjusted to working with a new boss and a new company, and then to telecommuting as a result of the COVID lockdowns. But for all that, I've continued doing much the same as always — kernel hacking and upstreaming sfc driver code. As I write at the end of 2020, the EF100 driver is upstream, and Xilinx has successfully demoed OVS offload; everything is different but everything is still the same.

My personal motto is The impossible we do immediately. The difficult takes a little longer. Find out why here.