Music to Beastie’s ears | BSD Now 146

Music to Beastie’s ears | BSD Now 146

Kris is on vacation this week, so allan flies solo, provides a recap of BSDCan & covers a boatload of news including Microsoft providing support & SLAs for BSD, how terrible select() may be, an interview with Hans Petter Selasky about designing the USB drivers for FreeBSD & more!

Thanks to:




Direct Download:

Video | HD Video | MP3 Audio | OGG Audio | Torrent | YouTube

RSS Feeds:

MP3 Feed | OGG Feed | iTunes Feed | Video Feed | HD Vid Feed | HD Torrent Feed

Become a supporter on Patreon:


– Show Notes: –


BSDCan Recap and Live Stream Videos

Media Coverage of Microsoft + FreeBSD story

  • Microsoft has released their own custom image of FreeBSD 10.3 for the Azure Cloud
  • “This means that not only can you quickly bring-up a FreeBSD VM in Azure, but also that in the event you need technical support, Microsoft support engineers can assist.”
  • “Microsoft is the publisher of the FreeBSD image in the marketplace rather than the FreeBSD Foundation. The FreeBSD Foundation is supported by donations from the FreeBSD community, including companies that build their solutions on FreeBSD. They are not a solution provider or an ISV with a support organization but rather rely on a very active community that support one another. In order to ensure our customers have an enterprise SLA for their FreeBSD VMs running in Azure, we took on the work of building, testing, releasing and maintaining the image in order to remove that burden from the Foundation. We will continue to partner closely with the Foundation as we make further investments in FreeBSD on Hyper-V and in Azure.”
  • “It’s quite a significant milestone for FreeBSD community and for Microsoft to publish a supported FreeBSD image on Azure Marketplace. We really appreciate Microsoft’s commitment and investment in FreeBSD project”. – Justin T. Gibbs, President of FreeBSD Foundation
  • Microsoft took a FreeBSD 10.3-RELEASE image and added additional patches, most of which they have upstreamed but that were too late for the regular 10.3 release cycle.
  • Rather than requiring users to use a snapshot of the stable/10 branch, which would complicate the user experience, and complicate the job of the Microsoft support engineers, they created their own “certified” release
  • This allows Microsoft to selectively deploy errata fixes to the image as well
  • It is not clear how this affects update mechanisms like freebsd-update(8)
  • The Register
  • The Inquirer
  • Infoworld
  • The Hacker News
  • Windows Report
  • Windows Club

Select works poorly

  • “At the bottom of the OpenBSD man page for select is a little note. “Internally to the kernel, select() and pselect() work poorly if multiple processes wait on the same file descriptor.” There’s a similar warning in the poll man page. Where does this warning come from and what does it mean?”
  • Ted found that at first glance, OpenBSD’s select() appears to be quite bad:
  • “whenever some data gets written, we call wakeup(&selwait);. Based on what we’ve seen so far, one can conclude that this is likely to be inefficient. Every time any socket has some data available, we wake up every selecting process in the system. Works poorly indeed.”
  • After further investigation, it turns out to not be quite as bad
  • When the select() is first setup, the PID of the process that cares about the FD is recorded in the selinfo struct
  • If a second process runs select() on the same FD, the SI_COLL (Select Collision) flag is set on the selinfo struct
  • When selwakeup() is called, if SI_COLL is set, all select()ing processes are woken up, and the sysctl kern.nselcoll is incremented. If the flag is not set, and only a single PID is waiting for activity on that FD, only that process is woken up
  • “This is not an intractable problem. kevent avoids it entirely. Other implementations may too. But practically, does it need to be solved? My laptop says it’s happened 43 times. A server with substantially more uptime says 0. Doesn’t seem so bad.”


Interview – name – / @twitter

  • Designing FreeBSD’s USB drivers, hooking up a piano to FreeBSD & more!

News Roundup

  • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to

Question? Comments? Contact us here!