News for hackers. Stuff that matters.
Re:Facebook open-sources new suite of Linux kernel component... by ilovecaching on Tuesday October 30, 2018 @02:08PM (#18339632)
FB = Facebook :)

XDP = eXpress Data Path, it's an eBPF program that runs before the kernel network stack and allows you to process raw packets as fast as your network card will allow.

eBPF = extended Berkley Packet Filter is a BPF program that is compiled and run on a virtual machine in the kernel (allows you to run kernel code from userspace). It can talk to user space through maps and hook in to various parts of the kernel. An important point is that once compiled, an eBPF program is guaranteed to halt and has other verification performed on it, to make it safe to run in the kernel.

BCC = BPF Compiler Collection, is a set of tools for working with eBPF, it uses llvm and clang to make it easy to write eBPF programs in Python, Rust, etc.

butterFS = btrfs, the filesystem. People often call it butterFS in conversation, even though the btr stands for b-tree.

cgroups = Technically the work is on cgroup2, which changes the way processes are laid out in a resource hierarchy from the original cgroups. This is how resource constraints are placed on containers, although many people use it just to monitor processes (without constraining resources).

Re:Facebook open-sources new suite of Linux kernel component... by wgjordan on Tuesday October 30, 2018 @03:31PM (#18340495)
> butterFS = btrfs, the filesystem. People often call it butterFS in conversation, even though the btr stands for b-tree.

This isn't a common spelling for Btrfs, and just added confusion for me since I didn't immediately follow the reference in your original comment (I assumed it was something new). It may be a common spoken pronunciation but writing 'butterFS' in a forum comment is more characters/keystrokes than 'btrfs', so I'd consider it a typo/error to be corrected rather than a technical abbreviation to be defined.

Re:Facebook open-sources new suite of Linux kernel component... by ilovecaching on Tuesday October 30, 2018 @03:33PM (#18340513)
I did it because I think it's funny.
Re:Facebook open-sources new suite of Linux kernel component... by Zhyl on Tuesday October 30, 2018 @05:26PM (#18341420)
I can't believe it's not butterFS
Re:Facebook open-sources new suite of Linux kernel component... by type0 on Wednesday October 31, 2018 @02:47PM (#18348267)
I usually pronounce it as betterFS, which perfectly describes it :-)
Re:Facebook open-sources new suite of Linux kernel component... by bigiain on Tuesday October 30, 2018 @06:52PM (#18341927)
> An important point is that once compiled, an eBPF program is guaranteed to halt …

That's made me curious. Got any links or search terms I can use to learn more about that?

I'm guessing nobody has solved the halting problem, I wonder what constraints are? Is the eBPF programming language not Turning Complete? Are the inputs bound in a way that means they don't need a general solution to the halting problem? Does the eBPF program get compiled with a killswitch to guarantee halting?

Re:Facebook open-sources new suite of Linux kernel component... by teej on Tuesday October 30, 2018 @07:04PM (#18341985)
From elsewhere in the thread I found this link https://lwn.net/Articles/740157/

> There are inherent security and stability risks with allowing user-space code to run inside the kernel. So, a number of checks are performed on every eBPF program before it is loaded. The first test ensures that the eBPF program terminates and does not contain any loops that could cause the kernel to lock up. This is checked by doing a depth-first search of the program's control flow graph (CFG). Unreachable instructions are strictly prohibited; any program that contains unreachable instructions will fail to load.

Re:Facebook open-sources new suite of Linux kernel component... by bigiain on Tuesday October 30, 2018 @08:06PM (#18342318)
Thanks!
Re:Facebook open-sources new suite of Linux kernel component... by jtbayly on Tuesday October 30, 2018 @02:25PM (#18339827)
Ok, so what does eBGP stand for? (By the way, thanks for the other definitions!)
Re:Facebook open-sources new suite of Linux kernel component... by lanstin on Tuesday October 30, 2018 @02:36PM (#18339960)
external Border Gateway Protocol. BGP is a routing protocol used to share reachability information thru independent routing domains; iBGP is when you use BGP to manage your own networks. eBGP is what is spoken between different AS (Autonomous Systems) across the core (routers without a default route) internet. You'll often read "Country X lost 50% of traffic for N hours due to eBGP issues".
Re:Facebook open-sources new suite of Linux kernel component... by coolspot on Tuesday October 30, 2018 @02:55PM (#18340148)
In this context it was a typo (now corrected).
Re:Facebook open-sources new suite of Linux kernel component... by Shalle135 on Tuesday October 30, 2018 @03:42PM (#18340593)
What’s the difference between using kernel parameters within sysctl.conf and cgroup2?
Re:Facebook open-sources new suite of Linux kernel component... by ilovecaching on Tuesday October 30, 2018 @04:00PM (#18340776)
cgroups aren't for manipulating kernel parameters. It's for setting resource limits on pids, and retrieving information about resource usage of a pid or group of pids.