
FreeBSD 10.3 - jlgaddis
https://lists.freebsd.org/pipermail/freebsd-announce/2016-April/001713.html
======
dallbee
Of particular note: This release brings 64 bit support to the Linux
compatibility layer.

I suppose when windows caught up Bash on Windows, FreeBSD needed to do
something to keep one step ahead =].

~~~
akerro
>The Linux® compatibility layer has been substantially improved and now is
capable of running 64-bit applications on amd64 (x86_64), 1:1 threading

What does 1:1 threading mean?

~~~
kev009
There are at least three theoretical implementations of userland threads in an
Operating System:

* 1:1, where each userland thread maps directly to a kernel thread

* 1:N, where several userland threads map directly to one kernel thread

* M:N, where the kernel maintains a pool of threads and dispatches userland threads to them

History has shown that 1:1 threading has the best trade offs. It's worth more
independent research if you are interested in Operating Systems.

~~~
anthk
That's reminds me of database record relations.

~~~
akerro
Or just re-use of basic structures ;)

------
ksec
An Honest question, which of the large Startup / Internet Giant are using BSD?
Whether it is FreeBSD or OpenBSD or others.

Judging from some previous Facebook post, it is likely Whatsapp will be moving
to linux based as well instead of on FreeBSD. Yahoo used to be a FreeBSD shop,
but Marisa Mayer has since converted all to Linux. Microsoft had some FreeBSD
long ago but has since converted all to Windows or Linux. The only FreeBSD on
Netflix are their Open Connect Appliance, their main AWS instances, which is
the majority of their servers are all Linux. Both Cisco and Juniper are using
less FreeBSD as we speak. Even Apple, with many parts of their OS based on
FreeBSD, are using Linux for iCloud as well.

So who is using BSD?

~~~
kev009
Where did you see that WhatsApp is converting to Linux? At MeetBSD Rick Reed
claimed they had full autonomy from Facebook on that kind of thing
([http://www.slideshare.net/iXsystems/rick-
reed-600-m-unsuspec...](http://www.slideshare.net/iXsystems/rick-
reed-600-m-unsuspecting-freebsd-users)), and FB was looking at them to learn
how they did so much with so little engineers and servers.

Netflix is doing 100Gbit HTTP and > 60Gbit HTTPS on a single socket Xeon E5
with FreeBSD. These servers are about 1/3 North American Internet by volume.
In comparison to OCA team their AWS team sounds like a total tire fire to me
in terms of engineer count and monthly spend.

I run the OS team at Limelight Networks, one of the largest CDNs. We can peak
beyond 10Tbit/s on our current network and have to deal with a more
demanding/unknown workload compared to NF OCA. This is all courtesy of
FreeBSD. My entire management chain agrees that the cost of entry is lower to
influencing and driving development in FreeBSD vs other kernels, and we
collaborate with the other well known players on projects that are mutually
beneficial such as TCP and filesystems.

Companies switching from FreeBSD to Linux usually are victim of the decision
from bad VP-level management looking for a scapegoat rather than solving
actual business and culture problems. Yahoo began transitioning to RHEL in
2005 and AFAIK are still at least two years from conceivably being off of
FreeBSD. A 12 year _free_ OS transition is an embarrassing use of engineering
effort and total management failure.

There are a lot of companies satisfied with FreeBSD, especially in the
appliance space and small business, but they are not vocal because it just
works and is often rebranded.

~~~
beagle3
> Netflix is doing 100Gbit HTTP and > 60Gbit HTTPS on a single socket Xeon E5
> with FreeBSD. These servers are about 1/3 North American Internet by volume.
> In comparison to OCA team their AWS team sounds like a total tire fire to me
> in terms of engineer count and monthly spend.

Have any idea how many cores and what kind of network hardware they use push
those impressive figures? I would guess there is some network offload
involved, as this comparable to memory bandwidth of a single core of that Xeon
if I'm not mistaken.

~~~
bsdimp
For those numbers, it was around 18 real cores with hyper threading enabled.
Crypto is a great workload for hyper threads. These systems are currently
being built up and aren't yet in production. These are with last year's CPUs.

[https://openconnect.netflix.com/en/hardware/](https://openconnect.netflix.com/en/hardware/)
has the currently deployed system specs.

------
NamTaf
Idle question sort-of-related but I'm asking it here because those who know
the answer will be here:

The bge(4) driver by default doesn't support WoL, but a number of people have
managed to take the driver from FreeNAS 9.x which includes a patched driver
that does make it work and added it to FreeBSD 9.x. This was released as a
.patch file so you could patch the driver and recompile and is of interest
because it's the onboard NIC for the HP Proliant microservers that many people
use for their own custom file storage servers.

The upgrade from 9 to 10 broke this patch because the lines changed too
dramatically, but you can easily copy/paste it in to the driver source at the
right places and it works (I did it on 10.1 or 10.2).

My question is: Specifically what process does one need to go through to
provide a patched bge(4) driver to 'the appropriate people' so that the patch
is included in FreeBSD's default driver and is not broken with each major
change to the driver? How does one go from 'we have functioning code that
enables WoL support' to 'this is a tested, certified driver included in the
default FreeBSD install'? What licensing issues are there in contributing the
patch upstream from FreeNAS to FreeBSD?

This is all new territory for me, so some guidance would be greatly
appreciated!

~~~
cperciva
Assuming the patch is BSD licensed, there should be no legal/licensing issues.

Have you submitted a FreeBSD bug report with the patch? If not, do that first:
[https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Base...](https://bugs.freebsd.org/bugzilla/enter_bug.cgi?product=Base%20System)

If you've done that already, or after you've waited a few weeks without anyone
noticing it, the usual tactic is to email people who have worked on the driver
in question recently; the SVN logs are useful here:
[https://svnweb.freebsd.org/base/head/sys/dev/bge/if_bge.c?vi...](https://svnweb.freebsd.org/base/head/sys/dev/bge/if_bge.c?view=log)

Feel free to send me an email if you need more help.

~~~
NamTaf
Thanks. I've not done any of that as I didn't come up with the patch to begin
with. I'll do some research and work out where the legalities fall.

~~~
voltagex_
I'm halfway down the rabbit hole - I have to create an account to view the
original patch. No license header.
[https://gist.github.com/voltagex/160980fc680d830b8b7e68199a3...](https://gist.github.com/voltagex/160980fc680d830b8b7e68199a3dca02)
(sorry about Windows line endings)

[http://forums.nas4free.org/viewtopic.php?f=69&t=2974](http://forums.nas4free.org/viewtopic.php?f=69&t=2974)

Does the BSD license apply to a patch to a BSD licensed file?

~~~
cyphar
> Does the BSD license apply to a patch to a BSD licensed file?

No, because the BSD License isn't copyleft. You'll have to contact the
original author as well as any contributors.

~~~
voltagex_
Good luck! 6 posts on that forum then disappeared forever.

~~~
viraptor
Not that hard. Google "hcb nas4free" and get:
[https://lists.freebsd.org/pipermail/freebsd-
bugs/2013-March/...](https://lists.freebsd.org/pipermail/freebsd-
bugs/2013-March/052180.html) (Hielke Christian Braun)

The author already submitted this patch in 2013 - since it was contributed to
the project, it should be fine regarding the license.

~~~
voltagex_
Yeah, I shouldn't have posted the flippant comment. Sorry. I've posted the bug
tracker links in another comment - looks like there's some concerns about the
effects of the patch on high-end networking gear.

------
mlu
I know FreeBSD (or *BSD in general) is still used heavily in server
environments.

Is anyone using it on the desktop as well?

I always wanted to give it a try, but then I'm hesitant because of lacking
hardware support. I remember struggling with Intel KMS support in one of the
earlier releases. Is this still a problem?

~~~
kev009
I run FreeBSD -CURRENT on a Lenovo C30, which is a dual Xeon E5 workstation
platform. Key to my use for the past 1-2 years with a 30" and 3 24" monitors
is the nvidia binary video driver. Prior to this setup I ran Gentoo. I find
FreeBSD more conductive toward the things I want to work on, but I am also
much more interested in working on FreeBSD src than I was Linux kernel. I
maintain a small repo that does everything I want at
[https://github.com/kev009/digital-life](https://github.com/kev009/digital-
life)

On my laptop, a Lenovo T420, I run PC-BSD -CURRENT
([http://iso.cdn.pcbsd.org/11.0-CURRENTMAR2016/edge/amd64/](http://iso.cdn.pcbsd.org/11.0-CURRENTMAR2016/edge/amd64/)),
which eliminates the need to build src and packages. I also run PC-BSD
-CURRENT on my work desktop with a Radeon card and two monitors. I could
potentially expand my workstation builds to these with pkg, but PC-BSD is more
or less hands off which I want on these devices.

Open source video needs work, but as of this week that has started heating up
and we may start closing in toward DragonflyBSD in terms of Freedesktop/Linux
equivalence by the time FreeBSD 11.0 ships
[https://github.com/iotamudelta/freebsd-base-
graphics/tree/dr...](https://github.com/iotamudelta/freebsd-base-
graphics/tree/drm-next-3.9)

~~~
wowtip
Does it work fine for you as a laptop OS?

Battery time, suspend/hibernate, etc?

~~~
gkya
I've an elderly Asus notebook nowadays as my PC, with 10.2 on it that I
installed rather recently. It's battery is long-dead (I use it as a
workstation mostly), so I can't comment on that, but suspend/hibernate does
not work for me. FreeBSD does not have hibernate, and suspend, AFAIK, does not
work with Xorg, so it's practically useless. There are some posts that demo
how to do it, by unloading troublesome stuff before suspend and reloading them
later, but I didn't get around to trying that yet, because suspend does not
resume, and hard reboots give me the shakes without a backup, I couldn't port
my backup script to't yet.

Performance-wise, I did not notice much between Arch linux, what I was using
before, and this. My setup is very light, Emacs+Xombrero on TWM. I notice,
though, a certain performance problem with video in browser, but that may well
be Gstreamer plugins that run slower than Linux on *BSD, I can't comment, as I
don't know the internals. But VLC works just fine.

------
tachion
Have YOU donated to FreeBSD yet?
[https://www.freebsdfoundation.org/donate/](https://www.freebsdfoundation.org/donate/)

------
voltagex_
I'm a first time user of FreeBSD, I jumped in on 10.3RC2 and ended up with a
"custom" kernel to enable vnet support. How do I upgrade _and_ keep the custom
kernel in-tact?

~~~
kev009
Sorry for this pain point :( we will hopefully have VNET default in 11.0.

Slightly risky way: you can run freebsd-update fetch and then install twice,
and you will notice it updates /usr/src.. it will instruct you to reboot after
the first install, but instead do another install and you will notice that
/usr/src has been updated. Rebuild your custom kernel and reboot. You risk
changed ABIs during this, in practice it may be fine but depends how much you
care about the box and whether you are comfortable cleaning up from a chroot
if things go really bad.

Better: use svnlite in base or real SVN to update /usr/src to the releng/10.3
branch. Build your kernel, reboot, do freebsd update to get the base updates
and make sure your kernel is intact.

Best: use svnlite to update /usr/src. Do buildkernel, reboot. Do buildworld
and follow
[https://www.freebsd.org/doc/handbook/makeworld.html](https://www.freebsd.org/doc/handbook/makeworld.html).
The more you run FreeBSD, the more you will want to follow -STABLE or -CURRENT
and do your own release engineering.

Future best: Use any method to derive custom kernel, use packaged base to
update base. Or again hopefully common use wont need a custom kernel.

~~~
voltagex_
I'm normally a Linux user but found FreeNAS too restrictive and then spent 2
months worth of spare time fiddling with this thing.

The learning curve seems vertical at times but I'm finding FreeBSD quite
refreshing. Ports and pkg-ng are great (although Australia really, really
needs a local mirror).

The files I need to boot from live on a USB thumbdrive and I've got IPMI to
the box so I'm not too worried. I think buildworld would be pretty slow on
this box (Atom C2758). I'll give it a shot.

I don't _really_ need vnet but having IPs per jail and some kind of network
seperation made more sense to my brain.

~~~
kev009
Yeah VNET is a pretty advanced feature at this point, hopefully once it's in
11 it will be more approachable to new users without any drawbacks.

~~~
voltagex_
_jails_ seem like an advanced feature to me - so much manual configuration.
Docker has ruined me by hiding the complexity.

~~~
floatboth
Hah, weird. For me, Docker seems to _create_ complexity. Daemon, API,
registry…

I made a tiny tool that spins up a jail with nullfs/unionfs mounts and RCTL
resource limits from a single JSON/UCL file:
[https://github.com/myfreeweb/sandblast](https://github.com/myfreeweb/sandblast)

------
gkya
An off-topic question: Does anybody know anything about the status of ath5k on
OpenBSD? My laptop has a AR242x/AR542x driver, can it be run on OpenBSD
somehow? There are a lot of articles on the web about it, but I can't find
actual information about whether it is possible or not to use that indeed.

------
eshansingh
S

