OpenBSD Journal

a2k20 Hackathon Report: Ken Westerback on xhci(4), dhclient(8), and scsi

Contributed by rueda on from the Hobart-harbourside-hacking dept.

Ken Westerback (krw@) kindly wrote in with a report from last month's a2k20 hackathon in Hobart, Australia:

tl;dr -- excellent coffee fuelled lots of hacking in Hobart

I started my journey to Hobart via Sydney in a state of some anxiety. Air Canada's continuing reservation system troubles meant it was unclear until the last minute whether I would arrive in Sydney rested or frazelled. In the end all went well and I arrived at dtucker@'s place after a good sleep. After a pleasant evening with Darren, we caught our flight to Hobart the next morning without trouble. We found tedu@ had been on the same flight, despite not spotting him during boarding.

We had the first intimation of the quality of the coffee to be had in Hobart when sampling the wares of a cafe in the terminal while we pondered the mysterious "you will be met by Ross with a sign" directions. The wares were very good! Eventually we figured out where to meet Ross and were conveyed to our various accommodations in the city.

And then on to the hackroom, a spacious location with a fine view of the harbour.

My a2k20 hacking was distributed among xhci(4), dhclient(8), and various parts of scsi.

Continuing the xhci(4) work started at p2k19 to fix my urtwn(4) device, patrick@ and I fixed the handling of stalled i/o's to ensure that the proper residual value was reported back to the umass stack. We then proceeded to properly terminate i/o's with a zero length TD rather than a zero length xfer. After this my urtwn(4) device worked great!

Following up a suggestion by dtucker@, I enabled dhclient(8) on carp(4) interfaces. kn@ prompted an improvement in dhclient(8) command line processing. mlarkin@'s airport wifi experience led to the removal of an old diagnostic message about ignoring the static routes dhcp option.

Moving on to scsi, and inspired by sitting next to tedu@, I removed the defunct old world macppc mesh(4) driver. This led to the discovery and removal of a few leftover zaurus tentacles.

I then committed a bunch of diffs to simplify the scsi physio() path (a.k.a. raw i/o), making it shorter and more consistent across all scsi drivers and the cd(4), sd(4) and st(4) devices. This was also a continuation of work started at p2k19, where robert@ proved that limiting physio() to MAXPHYS (a.k.a. 64 * 1024) was the root cause of our slow st(4) performance. While no functional change resulted, the cleaned up code will make it much easier to experiment with larger physio() i/o's on a driver by driver basis.

The food in Hobart was excellent, as was the coffee and the local scotch! I ended up bagging a few good museums in Hobart and on the way home I tried again to see the working steam engine in the Sydney Powerhouse Museum. Alas, it was as quiescent as it always is when I visit.

Thanks to Ross for excellent organization, transportation and general assistance! Thanks to the OpenBSD Foundation for the necessary funding. Another enjoyable and productive hackathon.

Thanks very much Ken. Your work and report are both appreciated greatly!

(Comments are closed)

  1. By Russell Sutherland (quist) on

    I always appreciate Ken's contributions and thoughtful comments about things technical and cultural. He lacks the humour of Bob Beck, but that's a pretty high bar.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]