Episode Details
Back to Episodes
176: Linking your world
Published 9 years, 2 months ago
Description
Another exciting week on BSDNow, we are queued up with LLVM / Linking news, a look at NetBSD’s scheduler,
This episode was brought to you by

alt="DigitalOcean - Simple Cloud Hosting, Built for Developers" />
title="Tarsnap">
Headlines
FreeBSD Kernel and World, and many Ports, can now be linked with lld
- “With this change applied I can link the entirety of the FreeBSD/amd64 base system (userland world and kernel) with LLD.”
- “Rafael's done an initial experimental Poudriere FreeBSD package build with lld head, and found almost 20K out of 26K ports built successfully. I'm now looking at getting CI running to test this on an ongoing basis. But, I think we're at the point where an experimental build makes sense.”
- Such testing will become much easier once llvm 4.0 is imported into -current
- “I suggest that during development we collect patches in a local git repo -- for example, I've started here for my Poudriere run https://github.com/emaste/freebsd-ports/commits/ports-lld”
- “It now looks like libtool is responsible for the majority of my failed / skipped ports. Unless we really think we'll add "not GNU" and other hacks to lld we're going to have to address libtool limitations upstream and in the FreeBSD tree. I did look into libtool a few weeks ago, but unfortunately haven't yet managed to produce a patch suitable for sending upstream.”
- If you are interested in LLVM/Clang/LLD/LLDB etc, check out: A Tourist’s Guide to the LLVM Source Code ***
Documenting NetBSD's scheduler tweaks
- A followup to our previous coverage of improvements to the scheduler in NetBSD
- “NetBSD's scheduler was recently changed to better distribute load of long-running processes on multiple CPUs. So far, the associated sysctl tweaks were not documented, and this was changed now, documenting the kern.sched sysctls.”
- kern.sched.cacheht_time (dynamic): Cache hotness time in which a LWP is kept on one particular CPU and not moved to another CPU. This reduces the overhead of flushing and reloading caches. Defaults to 3ms. Needs to be given in ``hz'' units, see mstohz(9).
- kern.sched.balance_period (dynamic): Interval at which the CPU queues are checked for re-balancing. Defaults to 300ms.
- kern.sched.min_catch (dynamic): Minimum count of migratable (runable) threads for catching (stealing) from another CPU. Defaults to 1 but can be increased to decrease chance of thread migration between CPUs.
- It is important to have good documentation for these tunables, so that users can understand what it is they are adjusting ***
FreeBSD Network Gateway on EdgeRouter Lite
- “EdgeRouter Lite is a great device to run at the edge of a home network. It becomes even better when it's running FreeBSD. This guide documents how to setup such a gateway. There are accompanying git repos to somewhat automate the process as well.”
- “Colin Percival has written a great blog post on the subject, titled
Listen Now
Love PodBriefly?
If you like Podbriefly.com, please consider donating to support the ongoing development.
Support Us