Episode 146
Music to Beastie’s ears
June 16th, 2016
1 hr 4 mins 4 secs
Tags
About this Episode
Kris is on vacation this week, so allan flies solo, provides a recap of BSDCan & cover's a boatload of news including Microsoft
This episode was brought to you by
Headlines
BSDCan Recap and Live Stream Videos
- OpenBSD BSDCan 2016 papers now available
- Allan’s slides and Paper
- Michael W Lucas presents Allan with a gift
- “FreeBSD Mastery: Advanced ZedFS”
- Highlighted Tweets:
- Groff Arrives at BSDCan
- FreeBSD Foundation recognizes the contributions of Bryan Drewery, Rod Grimes, Warren Block, & Gleb Smirnoff
- A moment of silence and shots in memory in Benjamin Perrault @creepingfur
- @gvnn3 sells the FreeBSD Foundation shirt off of his back for Charity
- Michael W. Lucas asks Matt Ahrens how to pronounce ZFS, “You can pronounce ZFS however you like, but if you pronounce it 'reiserfs', people might be confused.”
- Sysadmin T-Shirt
- FreeBSD Dev Summit ran out of room on the chalkboards listing accomplishments of 11.0
- List of things people have or want for FreeBSD 12
- Matt Ahrens signing Allan’s ZFS book
- FreeBSD’s new marketing strategy
- Charity Auction: systemd whoopie cushion
- Embarass OpenBSD’s @HenningBrauer by donating $10 to charity for a selfie with him wearing a Linux t-shirt
- @GroffTheBSDGoat changes handlers, from @HenningBrauer to @GavinAtkinson
- Day 1 Video
- Day 2 Video
- Allan’s GELIBoot talk (day 2) ***
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 - Hans Petter Selasky - hps@freebsd.org / @twitter
- Designing FreeBSD’s USB drivers, hooking up a piano to FreeBSD & more! ***