Sunday, 23 July 2017

Electric distraction

I'm sorry to say that I've been very distracted of late and haven't had time to look at the kernel (or any other code for that matter) and should explain why the resync with 4.12 has been delayed. I've been away on vacation and when I returned I was busily preparing for my new arrival and here I am taking delivery of it:


Honestly I can't recall ever looking forward to getting a vehicle so much... or any purchase really in my life. It really is an amazing change from a regular car and ticks every box I could possibly want in a car. Being part greenie, part geek and part hoon, it fulfils all the criteria and more. I was going to say petrolhead but that doesn't work here so I'm going to invent a new term and call myself an electrichead (???). So far it has reached and exceeded all my expectations which is really something given how much I was hoping for.



To answer the question that some of you may have knowing my history in the bitcoin space, yes I did pay for this (indirectly) with bitcoin. @Tesla, ElonMusk and Paypal, when will you start accepting bitcoin directly?


Now if anyone else is passionate about cars, electric vehicles, Tesla, the Model S, Model X or Model 3 and is interested in buying one, I'm going to do us both a favour and sneak my referral code into this blogpost. When purchasing a new Tesla vehicle there is no way to get a discount on a new car. They never hold specials, they never negotiate at the dealership, don't provide discounts to employees and don't even provide discount to bulk fleet purchases on a new car. They only ever discount used, demo or discontinued versions of their vehicles.

The only way to get a discount on a new vehicle is with a referral code from someone who purchased one and there isn't even any need to know the person, just their referral code. What does the referral code provide? A $1400 AUD discount (or $1000 USD) and unlimited free supercharging. The referral code I'm providing here can be used on any Tesla model worldwide to obtain those discounts and you're welcome to use it. I get a referral credit towards the purchase of my next vehicle in return so I'm happy for anyone to use it:


The code is con464 obviously if you're not placing your purchase online.

Now I better get back to work on the kernel you're all waiting for. Sorry about the offtopic post and plug, but nothing can contain my excitement. Realistically the next kernel is still probably a week away.

-ck

Friday, 26 May 2017

linux-4.11-ck2, MuQSS version 0.156 for linux-4.11

Announcing a new -ck release, 4.11-ck2  with the latest version of the Multiple Queue Skiplist Scheduler, version 0.156. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload.

linux-4.11-ck2

-ck1 patches:

Git tree:


MuQSS

Download:

Git tree:


MuQSS 0.156 updates

- Fixed failed UP builds.
- Remove the last traces of the global run queue data, moving nr_running, nr_uninterruptible and nr_switches to each runqueue. Calculate nr_running accurately at the end of each context switch only once, reusing the variable in place of rq_load. (May improve reported load accuracy.)

4.11-ck2 updates

- Make full preempt default on all arches.
Revert inappropriately reverted part of vmsplit patch.

Enjoy!
お楽しみ下さい
-ck

I seem to have unintentionally deleted the -ck1 post, sorry about that.

Monday, 20 February 2017

linux-4.10-ck1, MuQSS version 0.152 for linux-4.10

Announcing a new -ck release, 4.9-ck1  with new version of the Multiple Queue Skiplist Scheduler, version 0.150. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload.

linux-4.10-ck1

-ck1 patches:
http://ck.kolivas.org/patches/4.0/4.10/4.10-ck1/

Git tree:
https://github.com/ckolivas/linux/tree/4.10-ck

Ubuntu 16.10 packages (sorry I'm no longer on 16.04):
http://ck.kolivas.org/patches/4.0/4.9/4.10-ck1/Ubuntu16.10/

MuQSS

Download:
4.10-sched-MuQSS_152.patch

Git tree:
4.10-muqss


MuQSS 0.152 updates

Removed the rapid ramp-up in schedutil cpufreq which was overactive.
Bugfixes

4.10-ck1 updates

Apart from resyncing with the latest tree from linux-bfq:
- The wb-buf-throttling patches are now part of mainline and do not need to be added separately
- Minor swap setting tweaks

For those of you trying to build the evil nvidia driver for linux-4.10, this patch will help:
nvidia-375.39-linux-4.10.patch

Enjoy!
お楽しみ下さい
-ck

Monday, 12 December 2016

linux-4.9-ck1, MuQSS version 0.150

Announcing a new -ck release, 4.9-ck1  with new version of the Multiple Queue Skiplist Scheduler, version 0.150. These are patches designed to improve system responsiveness and interactivity with specific emphasis on the desktop, but configurable for any workload.

linux-4.9-ck1

-ck1 patches:
http://ck.kolivas.org/patches/4.0/4.9/4.9-ck1/

Git tree:
https://github.com/ckolivas/linux/tree/4.9-ck

Ubuntu 16.04 LTS packages:
http://ck.kolivas.org/patches/4.0/4.9/4.9-ck1/Ubuntu16.04/

MuQSS

Download:
4.9-sched-MuQSS_150.patch

Git tree:
4.9-muqss


MuQSS 0.150 updates

Regarding MuQSS, apart from a resync to linux-4.9, which has numerous hotplug and cpufreq changes (again!), I've cleaned up the patch to not include any Hz changes of its own, leaving Hz changes up to users to choose, unless they use the -ck patchset.
Additionally, I've modified sched_yield yet again. Since expected behaviour is different for different (inappropriate) users out there of sched_yield, I've made it tunable in /proc/sys/kernel/yield_type and changed the default to what I believe should happen. From the documentation I added in Documentation/sysctl/kernel.txt:

yield_type: (MuQSS CPU scheduler only)

This determines what type of yield calls to sched_yield will perform.

 0: No yield.
 1: Yield only to better priority/deadline tasks. (default)
 2: Expire timeslice and recalculate deadline.

Previous versions of MuQSS defaulted to type 2 above. If you find behavioural regressions with any of your workloads try switching it back to 2.

4.9-ck1 updates

Apart from resyncing with the latest trees from linux-bfq and wb-buf-throttling
- Added a new kernel configuration option to enable threaded IRQs and set it by default
- Changed Hz to default to the safe 100 value, removing 128 which caused spurious issues and had no real world advantage.
- Fixed a build for muqss disabled (why would you use -ck and do that I don't know)
- Made hrtimers not be used if we know we're in suspend which may have caused suspend failures for drivers that did no use correct freezable vs normal timeouts
- Enabled bfq and set it to default
- Enabled writeback throttling by default

Enjoy!
お楽しみ下さい
-ck