Unconference II track

Friday, September 15, 2017 from 2:005:00pm
Platinum H/G/F

LPC Unconference

Proposals for this track

* Soft Affinity for Workloads

For weak performance isolation with multi-tenancy for some applications by allowing space partitioning of CPUs, there is a need for applications to specify soft affinity to some CPUs. So that one "group" does not interfere with other "groups", yet allow the group to occupy the full set of CPUs when no one else is using it. Currently, CFS allows time sharing of CPUs and sched_setaffinity allows for "hard" affinity (or restricting CPUs to a given mask or set). One solution could be to to add a new cpumask other than cpus_allowed (which is used for "hard" affinity). Let's say cpus_preferred. And allow an application to set a preference to a set of CPUs if it so desires.
Unconference II 09/15/2017
James E.J. Bottomley

* Test driven development (TDD) in the kernel

Test driven development is a proven concept for user land projects, and is as far as I have seen to some extent used for kernel development, but is currently limited to what can be tested from user land, either via system call interfaces or by creating mock environments to compile selected kernel code in user land. Testing for instance kernel internal algorithms or usage of them, such as rbtrees, radix trees or sg lists cannot easily be done this way. Also, once the test is in kernel code, there are some very interesting low hanging opportunities such as for instance error injection and simple code coverage. I'd like to demonstrate a tool I created for this purpose, and that we develop and use internally in Oracle. It will be made available on Github for people to look at ahead of this unconference. I submitted a talk proposal for this, but it did not reach up, but I modestly think it is such a simple and good idea that I simply cannot wait yet another year without talking about it!
Unconference II 09/15/2017
Knut Omang