Compare commits

...

18 Commits

Author SHA1 Message Date
Sravan Balaji
ed07036c0f PDS Kernel Configuration 2022-10-10 19:09:00 -04:00
Ryan
c0f559bdf6 Add Tasktype to 6.0 (#622) 2022-10-10 17:01:38 +02:00
Tk-Glitch
b321569fee Update TT and BORE CPU schedulers patches URLs
Thanks @ptr1337, that'll be easier that way :)
2022-10-10 16:55:28 +02:00
Tk-Glitch
47e774e85f Protect some variable paths
Fixes https://github.com/Frogging-Family/linux-tkg/issues/620
2022-10-10 15:19:02 +02:00
ptr1337
13d7282016 Add bcachefs for 6.0 (#621)
Signed-off-by: Peter Jung <admin@ptr1337.dev>

Signed-off-by: Peter Jung <admin@ptr1337.dev>
2022-10-10 14:50:39 +02:00
Tk-Glitch
0e44660b75 linux 6.0: Bring torvic9's Project C patchset while we wait for Alfred to sync up.
https://gitlab.com/alfredchen/linux-prjc/-/issues/64
2022-10-04 14:41:23 +02:00
Tk-Glitch
53ce492d09 linux 5.15.y: sched/alt: [Sync] sched/core: Always flush pending blk_plug
Following https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.61&id=f066e015821cbd697d129befc74f822691321d70

Fixes https://github.com/Frogging-Family/linux-tkg/issues/614
2022-10-04 14:37:31 +02:00
ktheticdev
b4bd161253 fix mkspec patches (#616)
Co-authored-by: nobody <nobody@android>
2022-10-04 14:18:07 +02:00
Dmitry Skvortsov
1e7f8580c2 linux60: Fix Winesync patchset for 6.0-rc6 (#615) 2022-10-04 14:17:11 +02:00
Tk-Glitch
f59fe98754 Fix RPM build with Linux 6.0
Thanks to @AdelKS and @ktheticdev

Fixes https://github.com/Frogging-Family/linux-tkg/pull/613
2022-10-03 20:34:08 +02:00
Tk-Glitch
3d2b1257f1 Set _sub to "0" when _kver_split[2] is null
Fixes release kernel versioning, which is lacking the subversion. Example: kernel 6.0 release was versioned as "6.0." and will now be "6.0.0".
This also unifies versioning as it'll now always be x.x.x format.
2022-10-03 20:30:49 +02:00
Adel Kara Slimane
1d063ca326 RPM build: Fix several issues (#610)
* RPM: fix the script that generates kernel.spec

- Avoids conflicts with official kernels
- Fixes the reported issues with "unversionned obsoletes"
- Works now with akmod-nvidia

Fixes: #609 #513 #375 #339 #375 #173 #271

Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>

* install.sh: RPM: do not install kernel-headers package

We do not need it to build out-of-tree kernel modules. And that's
all we want actually.

Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>

Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
2022-10-02 18:33:33 +02:00
Tk-Glitch
3bfe0af945 Change _timer_freq defaults. While muqss keeps its 100 Hz default just like tt stays at 1000 Hz, CacULE now defaults to 2000 Hz, and all other CPU schedulers will now default to 1000 Hz.
Reportedly, multiple games (mostly Unity based, but not only?) are seeing much higher CPU usage at lower tickrates resulting in degraded performance when CPU bound.
300 Hz and less are the worst offenders, but 500 and 750 Hz are also affected to some extent. CacULE is seemingly less efficient than everything else and needs 2000 Hz to keep up in those scenarios.

OS (kernel, CONFIG_HZ) 	Min 	Average 	Max
Arch Linux (linux, 300 Hz) 	81% 	91% 	96%
Arch Linux (linux-zen, 1000 Hz) 	21% 	25% 	42%
Fedora Linux (linux (Default), 1000 Hz) 	20% 	25% 	53%

1000 Hz isn't an issue on modern systems, but older or very weak CPUs (like Atoms) which aren't used for gaming might want to use lower values. Since our main target audience is gamers, it only makes sense to change the defaults here.
2022-09-30 15:55:55 +02:00
Tk-Glitch
6f76d62c8c linux 6.0: Update MGLRU patchset to v15 (from v14)
https://lore.kernel.org/lkml/20220918080010.2920238-1-yuzhao@google.com/T/#m1a5008481fbbd0f1d5cc0355d69f36e709d08725
2022-09-30 15:25:01 +02:00
Tk-Glitch
322fbbd290 Add URL to pkgdesc
Fixes https://github.com/Frogging-Family/linux-tkg/issues/586
2022-09-30 14:04:54 +02:00
Tk-Glitch
c0e2e485ab Style fixup for previous commit 2022-09-28 14:33:44 +02:00
Jason
063aa59334 Pathing for diffconfig in prepare (#605)
* Pathing for diffconfig in prepare

* Pathing for diffconfig in prepare Arch specific
2022-09-28 14:32:08 +02:00
Tk-Glitch
ae19c0057e linux 6.0: Fixup for mglru patchset on RC7 2022-09-28 14:25:16 +02:00
28 changed files with 103967 additions and 569 deletions

View File

@@ -56,7 +56,7 @@ else
fi fi
pkgname=("${pkgbase}" "${pkgbase}-headers") pkgname=("${pkgbase}" "${pkgbase}-headers")
pkgver="${_basekernel}"."${_sub}" pkgver="${_basekernel}"."${_sub}"
pkgrel=269 pkgrel=270
pkgdesc='Linux-tkg' pkgdesc='Linux-tkg'
arch=('x86_64') # no i686 in here arch=('x86_64') # no i686 in here
url="https://www.kernel.org/" url="https://www.kernel.org/"
@@ -68,7 +68,7 @@ fi
optdepends=('schedtool') optdepends=('schedtool')
options=('!strip' 'docs') options=('!strip' 'docs')
for f in $_where/linux-tkg-config/$_basekernel/* $_where/linux-tkg-patches/$_basekernel/*; do for f in "$_where"/linux-tkg-config/"$_basekernel"/* "$_where"/linux-tkg-patches/"$_basekernel"/*; do
source+=( "$f" ) source+=( "$f" )
sha256sums+=( "SKIP" ) sha256sums+=( "SKIP" )
done done
@@ -95,9 +95,9 @@ build() {
# Use custom compiler paths if defined # Use custom compiler paths if defined
if [ "$_compiler_name" = "-llvm" ] && [ -n "${CUSTOM_LLVM_PATH}" ]; then if [ "$_compiler_name" = "-llvm" ] && [ -n "${CUSTOM_LLVM_PATH}" ]; then
PATH=${CUSTOM_LLVM_PATH}/bin:${CUSTOM_LLVM_PATH}/lib:${CUSTOM_LLVM_PATH}/include:${PATH} PATH="${CUSTOM_LLVM_PATH}/bin:${CUSTOM_LLVM_PATH}/lib:${CUSTOM_LLVM_PATH}/include:${PATH}"
elif [ -n "${CUSTOM_GCC_PATH}" ]; then elif [ -n "${CUSTOM_GCC_PATH}" ]; then
PATH=${CUSTOM_GCC_PATH}/bin:${CUSTOM_GCC_PATH}/lib:${CUSTOM_GCC_PATH}/include:${PATH} PATH="${CUSTOM_GCC_PATH}/bin:${CUSTOM_GCC_PATH}/lib:${CUSTOM_GCC_PATH}/include:${PATH}"
fi fi
if [ "$_force_all_threads" = "true" ]; then if [ "$_force_all_threads" = "true" ]; then
@@ -126,7 +126,7 @@ build() {
} }
hackbase() { hackbase() {
pkgdesc="The $pkgdesc kernel and modules" pkgdesc="The $pkgdesc kernel and modules - https://github.com/Frogging-Family/linux-tkg"
depends=('coreutils' 'kmod' 'initramfs') depends=('coreutils' 'kmod' 'initramfs')
optdepends=('linux-docs: Kernel hackers manual - HTML documentation that comes with the Linux kernel.' optdepends=('linux-docs: Kernel hackers manual - HTML documentation that comes with the Linux kernel.'
'crda: to set the correct wireless channels of your country.' 'crda: to set the correct wireless channels of your country.'
@@ -191,7 +191,7 @@ hackbase() {
} }
hackheaders() { hackheaders() {
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel" pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel - https://github.com/Frogging-Family/linux-tkg"
provides=("linux-headers=${pkgver}" "${pkgbase}-headers=${pkgver}") provides=("linux-headers=${pkgver}" "${pkgbase}-headers=${pkgver}")
case $_basever in case $_basever in
54|57|58|59|510) 54|57|58|59|510)

View File

@@ -103,7 +103,6 @@ The script will use a slightly modified Arch config from the `linux-tkg-config`
- Some issues have been reported by both Fedora (see https://github.com/Frogging-Family/linux-tkg/issues/383) and Ubuntu (see https://github.com/Frogging-Family/linux-tkg/issues/436) users where stock kernels cannot boot any longer, the whereabouts are still not entirely clear (it does not seem to affect every user) - Some issues have been reported by both Fedora (see https://github.com/Frogging-Family/linux-tkg/issues/383) and Ubuntu (see https://github.com/Frogging-Family/linux-tkg/issues/436) users where stock kernels cannot boot any longer, the whereabouts are still not entirely clear (it does not seem to affect every user)
- Ubuntu: appears to be an initramfs generation issue - Ubuntu: appears to be an initramfs generation issue
- Fedora: needs disabling then re-enabling SELINUX so one can boot - Fedora: needs disabling then re-enabling SELINUX so one can boot
- Fedora + Nvidia users: Fedora's `akmod` nvidia packages do not work with `linux-tkg` (see https://github.com/Frogging-Family/linux-tkg/issues/375). `linux-tkg` requires Nvidias official `.run` installer (that uses `dkms` instead of `akmod`) to properly work with Nvidia.
The interactive `install.sh` script will create, depending on the selected distro, `.deb` or `.rpm` packages, move them in the the subfolder `DEBS` or `RPMS` then prompts to install them with the distro's package manager. The interactive `install.sh` script will create, depending on the selected distro, `.deb` or `.rpm` packages, move them in the the subfolder `DEBS` or `RPMS` then prompts to install them with the distro's package manager.
```shell ```shell

View File

@@ -3,7 +3,7 @@
# Linux distribution you are using, options are "Arch", "Void", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic". # Linux distribution you are using, options are "Arch", "Void", "Ubuntu", "Debian", "Fedora", "Suse", "Gentoo", "Generic".
# It is automatically set to "Arch" when using PKGBUILD. # It is automatically set to "Arch" when using PKGBUILD.
# If left empty, the script will prompt # If left empty, the script will prompt
_distro="" _distro="Arch"
# Kernel Version - Options are "5.4", and from "5.7" to "5.19" # Kernel Version - Options are "5.4", and from "5.7" to "5.19"
# you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51", # you can also set a specific kernel version, e.g. "6.0-rc4" or "5.10.51",
@@ -32,7 +32,7 @@ CUSTOM_GCC_PATH=""
CUSTOM_LLVM_PATH="" CUSTOM_LLVM_PATH=""
# Set to true to bypass makepkg.conf and use all available threads for compilation. False will respect your makepkg.conf options. # Set to true to bypass makepkg.conf and use all available threads for compilation. False will respect your makepkg.conf options.
_force_all_threads="true" _force_all_threads="false"
# Set to true to prevent ccache from being used and set CONFIG_GCC_PLUGINS=y (which needs to be disabled for ccache to work properly) # Set to true to prevent ccache from being used and set CONFIG_GCC_PLUGINS=y (which needs to be disabled for ccache to work properly)
_noccache="false" _noccache="false"
@@ -46,10 +46,10 @@ _modprobeddb="false"
_modprobeddb_db_path=~/.config/modprobed.db _modprobeddb_db_path=~/.config/modprobed.db
# Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt. # Set to "1" to call make menuconfig, "2" to call make nconfig, "3" to call make xconfig, before building the kernel. Set to false to disable and skip the prompt.
_menunconfig="" _menunconfig="false"
# Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt. # Set to true to generate a kernel config fragment from your changes in menuconfig/nconfig. Set to false to disable and skip the prompt.
_diffconfig="" _diffconfig="false"
# Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active. # Set to the file name where the generated config fragment should be written to. Only used if _diffconfig is active.
_diffconfig_name="" _diffconfig_name=""
@@ -90,11 +90,11 @@ _STRIP="true"
# LEAVE AN EMPTY VALUE TO BE PROMPTED ABOUT FOLLOWING OPTIONS AT BUILD TIME # LEAVE AN EMPTY VALUE TO BE PROMPTED ABOUT FOLLOWING OPTIONS AT BUILD TIME
# CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule" or "cfs" (kernel's default) # CPU scheduler - Options are "upds" (TkG's Undead PDS), "pds", "bmq", "muqss", "cacule" or "cfs" (kernel's default)
_cpusched="" _cpusched="pds"
# Compiler to use - Options are "gcc" or "llvm". # Compiler to use - Options are "gcc" or "llvm".
# For advanced users. # For advanced users.
_compiler="" _compiler="gcc"
# Force the use of the LLVM Integrated Assembler whether using LLVM, LTO or not. # Force the use of the LLVM Integrated Assembler whether using LLVM, LTO or not.
# Set to "1" to enable. # Set to "1" to enable.
@@ -124,7 +124,7 @@ _preempt_rt_force=""
# For BMQ: 0: No yield. # For BMQ: 0: No yield.
# 1: Deboost and requeue task. (Default) # 1: Deboost and requeue task. (Default)
# 2: Set rq skip task. # 2: Set rq skip task.
_sched_yield_type="" _sched_yield_type="0"
# Round Robin interval is the longest duration two tasks with the same nice level will be delayed for. When CPU time is requested by a task, it receives a time slice equal # Round Robin interval is the longest duration two tasks with the same nice level will be delayed for. When CPU time is requested by a task, it receives a time slice equal
# to the rr_interval in addition to a virtual deadline. When using yield_type 2, a low value can help offset the disadvantages of rescheduling a process that has yielded. # to the rr_interval in addition to a virtual deadline. When using yield_type 2, a low value can help offset the disadvantages of rescheduling a process that has yielded.
@@ -132,7 +132,7 @@ _sched_yield_type=""
# PDS default: 4ms" # PDS default: 4ms"
# BMQ default: 2ms" # BMQ default: 2ms"
# Set to "1" for 2ms, "2" for 4ms, "3" for 6ms, "4" for 8ms, or "default" to keep the chosen scheduler defaults. # Set to "1" for 2ms, "2" for 4ms, "3" for 6ms, "4" for 8ms, or "default" to keep the chosen scheduler defaults.
_rr_interval="" _rr_interval="2"
# Set to "true" to disable FUNCTION_TRACER/GRAPH_TRACER, lowering overhead but limiting debugging and analyzing of kernel functions - Kernel default is "false" # Set to "true" to disable FUNCTION_TRACER/GRAPH_TRACER, lowering overhead but limiting debugging and analyzing of kernel functions - Kernel default is "false"
_ftracedisable="false" _ftracedisable="false"
@@ -145,10 +145,10 @@ _misc_adds="true"
# Set to "0" for periodic ticks, "1" to use CattaRappa mode (enabling full tickless) and "2" for tickless idle only. # Set to "0" for periodic ticks, "1" to use CattaRappa mode (enabling full tickless) and "2" for tickless idle only.
# Full tickless can give higher performances in various cases but, depending on hardware, lower consistency. Just tickless idle can perform better on some platforms (mostly AMD based). # Full tickless can give higher performances in various cases but, depending on hardware, lower consistency. Just tickless idle can perform better on some platforms (mostly AMD based).
_tickless="" _tickless="2"
# Set to "true" to use ACS override patch - https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_.28ACS_override_patch.29 - Kernel default is "false" # Set to "true" to use ACS override patch - https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_.28ACS_override_patch.29 - Kernel default is "false"
_acs_override="" _acs_override="false"
# Set to "true" to add Bcache filesystem support. You'll have to install bcachefs-tools-git from AUR for utilities - https://bcachefs.org/ - If in doubt, set to "false" # Set to "true" to add Bcache filesystem support. You'll have to install bcachefs-tools-git from AUR for utilities - https://bcachefs.org/ - If in doubt, set to "false"
# This can be buggy and isn't recommended on a production machine, also enabling this option will not allow you to enable MGLRU. # This can be buggy and isn't recommended on a production machine, also enabling this option will not allow you to enable MGLRU.
@@ -177,13 +177,13 @@ _futex_waitv="false"
_winesync="false" _winesync="false"
# Set to "true" to enable Binder and Ashmem, the kernel modules required to use the android emulator Anbox. ! This doesn't apply to 5.4.y ! # Set to "true" to enable Binder and Ashmem, the kernel modules required to use the android emulator Anbox. ! This doesn't apply to 5.4.y !
_anbox="" _anbox="false"
# A selection of patches from Zen/Liquorix kernel and additional tweaks for a better gaming experience (ZENIFY) - Default is "true" # A selection of patches from Zen/Liquorix kernel and additional tweaks for a better gaming experience (ZENIFY) - Default is "true"
_zenify="true" _zenify="true"
# compiler optimization level - 1. Optimize for performance (-O2); 2. Optimize harder (-O3); 3. Optimize for size (-Os) - Kernel default is "1" # compiler optimization level - 1. Optimize for performance (-O2); 2. Optimize harder (-O3); 3. Optimize for size (-Os) - Kernel default is "1"
_compileroptlevel="1" _compileroptlevel="2"
# CPU compiler optimizations - Defaults to prompt at kernel config if left empty # CPU compiler optimizations - Defaults to prompt at kernel config if left empty
# AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" (zen3 opt support depends on GCC11) # AMD CPUs : "k8" "k8sse3" "k10" "barcelona" "bobcat" "jaguar" "bulldozer" "piledriver" "steamroller" "excavator" "zen" "zen2" "zen3" (zen3 opt support depends on GCC11)
@@ -197,7 +197,7 @@ _compileroptlevel="1"
# - "generic_v2" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v2 # - "generic_v2" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v2
# - "generic_v3" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v3 # - "generic_v3" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v3
# - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4 # - "generic_v4" (depends on GCC11 - to share the package between machines with different CPU µarch supporting at least x86-64-v4
_processor_opt="" _processor_opt="skylake"
# MuQSS only - Make IRQ threading compulsory (FORCE_IRQ_THREADING) - Default is "false" # MuQSS only - Make IRQ threading compulsory (FORCE_IRQ_THREADING) - Default is "false"
_irq_threading="false" _irq_threading="false"
@@ -213,7 +213,7 @@ _cacule_rdb_interval="19"
_tt_high_hz="false" _tt_high_hz="false"
# MuQSS and PDS only - SMT (Hyperthreading) aware nice priority and policy support (SMT_NICE) - Kernel default is "true" - You can disable this on non-SMT/HT CPUs for lower overhead # MuQSS and PDS only - SMT (Hyperthreading) aware nice priority and policy support (SMT_NICE) - Kernel default is "true" - You can disable this on non-SMT/HT CPUs for lower overhead
_smt_nice="" _smt_nice="true"
# Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false" # Trust the CPU manufacturer to initialize Linux's CRNG (RANDOM_TRUST_CPU) - Kernel default is "false"
_random_trust_cpu="false" _random_trust_cpu="false"
@@ -222,8 +222,8 @@ _random_trust_cpu="false"
# Valid values are "none", "smt", "mc", "mc-llc"(for zen), "smp", "all" - Kernel default is "smt" # Valid values are "none", "smt", "mc", "mc-llc"(for zen), "smp", "all" - Kernel default is "smt"
_runqueue_sharing="" _runqueue_sharing=""
# Timer frequency - "100" "500", "750" or "1000" ("2000" can be set for cacule cpu sched, and will fallback to default if set while on another schedulers) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" # Timer frequency - "100" "250" "300" "500" "750" "1000" ("2000" is available for cacule cpusched only) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" (2000 for cacule, 100 for muqss and 1000 for other cpu schedulers)
_timer_freq="" _timer_freq="500"
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil) # Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)
_default_cpu_gov="ondemand" _default_cpu_gov="ondemand"

View File

@@ -280,18 +280,18 @@ if [ "$1" = "install" ]; then
else else
_kernelname=$_basekernel.${_kernel_subver}_$_kernel_flavor _kernelname=$_basekernel.${_kernel_subver}_$_kernel_flavor
fi fi
_headers_rpm="kernel-headers-${_kernelname}*.rpm"
_kernel_rpm="kernel-${_kernelname}*.rpm" _kernel_rpm="kernel-${_kernelname}*.rpm"
# The headers are actually contained in the kernel-devel RPM and not the headers one... # The headers are actually contained in the kernel-devel RPM and not the headers one...
_kernel_devel_rpm="kernel-devel-${_kernelname}*.rpm" _kernel_devel_rpm="kernel-devel-${_kernelname}*.rpm"
cd RPMS cd RPMS
if [ "$_distro" = "Fedora" ]; then if [ "$_distro" = "Fedora" ]; then
sudo dnf install $_headers_rpm $_kernel_rpm $_kernel_devel_rpm sudo dnf install $_kernel_rpm $_kernel_devel_rpm
elif [ "$_distro" = "Suse" ]; then elif [ "$_distro" = "Suse" ]; then
msg2 "Some files from 'linux-glibc-devel' will be replaced by files from the custom kernel-hearders package" msg2 "Some files from 'linux-glibc-devel' will be replaced by files from the custom kernel-hearders package"
msg2 "To revert back to the original kernel headers do 'sudo zypper install -f linux-glibc-devel'" msg2 "To revert back to the original kernel headers do 'sudo zypper install -f linux-glibc-devel'"
sudo zypper install --replacefiles --allow-unsigned-rpm $_headers_rpm $_kernel_rpm $_kernel_devel_rpm sudo zypper install --allow-unsigned-rpm $_kernel_rpm $_kernel_devel_rpm
fi fi
msg2 "Install successful" msg2 "Install successful"

View File

@@ -176,7 +176,11 @@ _set_kver_internal_vars() {
_basever="${_kver_split[0]}${_kver_split[1]}" _basever="${_kver_split[0]}${_kver_split[1]}"
# examples: "5", "rc2", "122" # examples: "5", "rc2", "122"
if [ -n "${_kver_split[2]}" ]; then
_sub="${_kver_split[2]}" _sub="${_kver_split[2]}"
else
_sub="0"
fi
# Append a zero to the minor if it has single digit # Append a zero to the minor if it has single digit
[[ ${#_kver_split[1]} == "1" ]] && _kver_split[1]="0${_kver_split[1]}" [[ ${#_kver_split[1]} == "1" ]] && _kver_split[1]="0${_kver_split[1]}"
@@ -293,7 +297,7 @@ _set_cpu_scheduler() {
elif [ "$_kver" = "519" ]; then elif [ "$_kver" = "519" ]; then
_avail_cpu_scheds=("cfs" "pds" "bmq" "cacule" "tt" "bore") _avail_cpu_scheds=("cfs" "pds" "bmq" "cacule" "tt" "bore")
elif [ "$_kver" = "600" ]; then elif [ "$_kver" = "600" ]; then
_avail_cpu_scheds=("cfs" "bore") _avail_cpu_scheds=("cfs" "pds" "bmq" "tt" "bore")
else else
_avail_cpu_scheds=("cfs") _avail_cpu_scheds=("cfs")
fi fi
@@ -673,6 +677,11 @@ _tkg_srcprep() {
tkgpatch="$srcdir/0003-glitched-base.patch" tkgpatch="$srcdir/0003-glitched-base.patch"
_msg="Applying glitched base patch" && _tkg_patcher _msg="Applying glitched base patch" && _tkg_patcher
if [[ "$_distro" =~ ^(Fedora|Suse)$ ]]; then
tkgpatch="$srcdir/0013-fedora-rpm.patch"
_msg="RPM: fixing spec generator" && _tkg_patcher
fi
if [ -z $_misc_adds ]; then if [ -z $_misc_adds ]; then
plain "Enable misc additions ? They may contain temporary fixes pending upstream, or some other changes that can break on non-Arch distros." plain "Enable misc additions ? They may contain temporary fixes pending upstream, or some other changes that can break on non-Arch distros."
read -rp "`echo $' > [Y]/n : '`" _interactive_misc_adds; read -rp "`echo $' > [Y]/n : '`" _interactive_misc_adds;
@@ -795,22 +804,10 @@ _tkg_srcprep() {
elif [ "${_cpusched}" = "tt" ]; then elif [ "${_cpusched}" = "tt" ]; then
_msg="Applying TT patch" _msg="Applying TT patch"
if [ "${_distro}" = "Void" ]; then if [ "${_distro}" = "Void" ]; then
if [[ $_kver = 515 ]]; then curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-tt.patch" > "$wrksrc"/tt.patch
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/TT/0001-tt-${_basekernel}.patch" > "$srcdir"/tt.patch
elif [[ $_kver = 517 ]] || [[ $_kver = 519 ]]; then
curl "https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_basekernel}/sched/0001-tt.patch" > "$wrksrc"/tt.patch
else
curl "https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_basekernel}/sched/0001-tt-${_basekernel}.patch" > "$wrksrc"/tt.patch
fi
tkgpatch="$wrksrc/tt.patch" && _tkg_patcher tkgpatch="$wrksrc/tt.patch" && _tkg_patcher
else else
if [[ $_kver = 515 ]]; then curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-tt.patch" > "$srcdir"/tt.patch
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/TT/0001-tt-${_basekernel}.patch" > "$srcdir"/tt.patch
elif [[ $_kver = 517 ]] || [[ $_kver = 519 ]]; then
curl "https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_basekernel}/sched/0001-tt.patch" > "$srcdir"/tt.patch
else
curl "https://raw.githubusercontent.com/ptr1337/kernel-patches/master/${_basekernel}/sched/0001-tt-${_basekernel}.patch" > "$srcdir"/tt.patch
fi
tkgpatch="$srcdir/tt.patch" && _tkg_patcher tkgpatch="$srcdir/tt.patch" && _tkg_patcher
fi fi
if [ "$_tt_high_hz" = "true" ] && [ $_kver = 515 ]; then if [ "$_tt_high_hz" = "true" ] && [ $_kver = 515 ]; then
@@ -825,14 +822,11 @@ _tkg_srcprep() {
fi fi
elif [ "${_cpusched}" = "bore" ]; then elif [ "${_cpusched}" = "bore" ]; then
_msg="Applying BORE patch" _msg="Applying BORE patch"
if [ "$_kver" = "518" ]; then
_bore_suffix="-sched"
fi
if [ "${_distro}" = "Void" ]; then if [ "${_distro}" = "Void" ]; then
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore$_bore_suffix.patch" > "$wrksrc"/0001-bore.patch curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore.patch" > "$wrksrc"/0001-bore.patch
tkgpatch="$wrksrc/0001-bore.patch" && _tkg_patcher tkgpatch="$wrksrc/0001-bore.patch" && _tkg_patcher
else else
curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore$_bore_suffix.patch" > "$srcdir"/0001-bore.patch curl "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/${_basekernel}/sched/0001-bore.patch" > "$srcdir"/0001-bore.patch
tkgpatch="$srcdir/0001-bore.patch" && _tkg_patcher tkgpatch="$srcdir/0001-bore.patch" && _tkg_patcher
fi fi
elif [ "${_cpusched}" = "cfs" ]; then elif [ "${_cpusched}" = "cfs" ]; then
@@ -1257,14 +1251,14 @@ _tkg_srcprep() {
typeset -A _default_timer_frequencies_index typeset -A _default_timer_frequencies_index
_default_timer_frequencies_index=( _default_timer_frequencies_index=(
["pds"]="3" ["pds"]="5"
["muqss"]="1" ["muqss"]="1"
["cacule"]="5" ["cacule"]="6"
["tt"]="5" ["tt"]="5"
["upds"]="3" ["upds"]="5"
["cfs"]="3" ["cfs"]="5"
["bmq"]="3" ["bmq"]="5"
["bore"]="3" ["bore"]="5"
) )
if [[ -n "$_timer_freq" && ! "${_avail_timer_frequencies[*]}" =~ "$_timer_freq" ]]; then if [[ -n "$_timer_freq" && ! "${_avail_timer_frequencies[*]}" =~ "$_timer_freq" ]]; then
@@ -1272,7 +1266,7 @@ _tkg_srcprep() {
_timer_freq="" _timer_freq=""
fi fi
# Default to 500Hz if _timer_freq is not set # Default to 1000Hz if _timer_freq is not set
if [ -z "$_timer_freq" ]; then if [ -z "$_timer_freq" ]; then
_default_index="${_default_timer_frequencies_index[$_cpusched]}" _default_index="${_default_timer_frequencies_index[$_cpusched]}"
msg2 "Which kernel interrupt timer frequency would you like to use ?" msg2 "Which kernel interrupt timer frequency would you like to use ?"
@@ -1564,8 +1558,8 @@ CONFIG_DEBUG_INFO_BTF_MODULES=y\r
_msg="Patching winesync/fastsync support" _msg="Patching winesync/fastsync support"
_tkg_patcher _tkg_patcher
_module "WINESYNC" _module "WINESYNC"
echo "KERNEL==\"winesync\", MODE=\"0644\"" > ../winesync.rules echo "KERNEL==\"winesync\", MODE=\"0644\"" > "${srcdir}"/winesync.rules
echo "winesync" > ../winesync.conf echo "winesync" > "${srcdir}"/winesync.conf
fi fi
fi fi
@@ -1762,8 +1756,13 @@ CONFIG_DEBUG_INFO_BTF_MODULES=y\r
if [ -z "$_diffconfig_name" ]; then if [ -z "$_diffconfig_name" ]; then
echo 'No file name given, not generating config fragment.' echo 'No file name given, not generating config fragment.'
else ( else (
if [ "$_distro" = "Arch" ] || [ "$_ispkgbuild" = "true" ]; then
prev_pwd="${PWD:-$(pwd)}/linux-src-git"
cd "$_where" || exit
else
prev_pwd="${PWD:-$(pwd)}" prev_pwd="${PWD:-$(pwd)}"
cd "$_where" cd "$_where" || exit
fi
"${prev_pwd}/scripts/diffconfig" -m "${prev_pwd}/.config.orig" "${prev_pwd}/.config" > "$_diffconfig_name" "${prev_pwd}/scripts/diffconfig" -m "${prev_pwd}/.config.orig" "${prev_pwd}/.config" > "$_diffconfig_name"
) fi ) fi
fi fi

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -9893,3 +9893,34 @@ index f2b9e686d6a69c07f54c2cae36f7ce0ab70f9cb2..55c2a4c0cb845580c97e4adf07a34646
+ +
extern void swake_up_all_locked(struct swait_queue_head *q); extern void swake_up_all_locked(struct swait_queue_head *q);
extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait); extern void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
From 3728c383c5031dce5ae0f5ea53fc47afba71270f Mon Sep 17 00:00:00 2001
From: Juuso Alasuutari <juuso.alasuutari@gmail.com>
Date: Sun, 14 Aug 2022 18:19:09 +0300
Subject: [PATCH 01/10] sched/alt: [Sync] sched/core: Always flush pending
blk_plug
---
kernel/sched/alt_core.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/alt_core.c b/kernel/sched/alt_core.c
index 588c7b983e3ba..8a6aa5b7279d3 100644
--- a/kernel/sched/alt_core.c
+++ b/kernel/sched/alt_core.c
@@ -4663,8 +4663,12 @@ static inline void sched_submit_work(struct task_struct *tsk)
io_wq_worker_sleeping(tsk);
}
- if (tsk_is_pi_blocked(tsk))
- return;
+ /*
+ * spinlock and rwlock must not flush block requests. This will
+ * deadlock if the callback attempts to acquire a lock which is
+ * already acquired.
+ */
+ SCHED_WARN_ON(current->__state & TASK_RTLOCK_WAIT);
/*
* If we are going to sleep and we have plugged IO queued,

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,27 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,27 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,28 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
# and fix akmod-nvidia
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}

View File

@@ -0,0 +1,90 @@
From f7f49141a5dbe9c99d78196b58c44307fb2e6be3 Mon Sep 17 00:00:00 2001
From: Tk-Glitch <ti3nou@gmail.com>
Date: Wed, 4 Jul 2018 04:30:08 +0200
Subject: glitched - PDS
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
index 2a202a846757..1d9c7ed79b11 100644
--- a/kernel/Kconfig.hz
+++ b/kernel/Kconfig.hz
@@ -4,7 +4,7 @@
choice
prompt "Timer frequency"
- default HZ_250
+ default HZ_500
help
Allows the configuration of the timer frequency. It is customary
to have the timer interrupt run at 1000 Hz but 100 Hz may be more
@@ -39,6 +39,13 @@ choice
on SMP and NUMA systems and exactly dividing by both PAL and
NTSC frame rates for video and multimedia work.
+ config HZ_500
+ bool "500 HZ"
+ help
+ 500 Hz is a balanced timer frequency. Provides fast interactivity
+ on desktops with great smoothness without increasing CPU power
+ consumption and sacrificing the battery life on laptops.
+
config HZ_1000
bool "1000 HZ"
help
@@ -52,6 +59,7 @@ config HZ
default 100 if HZ_100
default 250 if HZ_250
default 300 if HZ_300
+ default 500 if HZ_500
default 1000 if HZ_1000
config SCHED_HRTICK
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
index 2a202a846757..1d9c7ed79b11 100644
--- a/kernel/Kconfig.hz
+++ b/kernel/Kconfig.hz
@@ -4,7 +4,7 @@
choice
prompt "Timer frequency"
- default HZ_500
+ default HZ_750
help
Allows the configuration of the timer frequency. It is customary
to have the timer interrupt run at 1000 Hz but 100 Hz may be more
@@ -46,6 +46,13 @@ choice
on desktops with great smoothness without increasing CPU power
consumption and sacrificing the battery life on laptops.
+ config HZ_750
+ bool "750 HZ"
+ help
+ 750 Hz is a good timer frequency for desktops. Provides fast
+ interactivity with great smoothness without sacrificing too
+ much throughput.
+
config HZ_1000
bool "1000 HZ"
help
@@ -60,6 +67,7 @@ config HZ
default 250 if HZ_250
default 300 if HZ_300
default 500 if HZ_500
+ default 750 if HZ_750
default 1000 if HZ_1000
config SCHED_HRTICK
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 9270a4370d54..30d01e647417 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -169,7 +169,7 @@
/*
* From 0 .. 200. Higher means more swappy.
*/
-int vm_swappiness = 60;
+int vm_swappiness = 20;
static void set_task_reclaim_state(struct task_struct *task,
struct reclaim_state *rs)

View File

@@ -12,12 +12,12 @@ Subject: [PATCH 01/34] winesync: Introduce the winesync driver and character
create mode 100644 drivers/misc/winesync.c create mode 100644 drivers/misc/winesync.c
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 0f5a49fc7c9e..e21e4424d6a2 100644 index 94e9fb4cdd76..4f9e3d80a6e8 100644
--- a/drivers/misc/Kconfig --- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig
@@ -470,6 +470,17 @@ config OPEN_DICE @@ -496,6 +496,17 @@ config VCPU_STALL_DETECTOR
If unsure, say N. If you do not intend to run this kernel as a guest, say N.
+config WINESYNC +config WINESYNC
+ tristate "Synchronization primitives for Wine" + tristate "Synchronization primitives for Wine"
@@ -34,16 +34,18 @@ index 0f5a49fc7c9e..e21e4424d6a2 100644
source "drivers/misc/eeprom/Kconfig" source "drivers/misc/eeprom/Kconfig"
source "drivers/misc/cb710/Kconfig" source "drivers/misc/cb710/Kconfig"
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index a086197af544..1fb39bc4637b 100644 index 2be8542616dd..d061fe45407b 100644
--- a/drivers/misc/Makefile --- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile +++ b/drivers/misc/Makefile
@@ -58,5 +58,6 @@ obj-$(CONFIG_HABANA_AI) += habanalabs/ @@ -58,6 +58,7 @@ obj-$(CONFIG_HABANA_AI) += habanalabs/
obj-$(CONFIG_UACCE) += uacce/ obj-$(CONFIG_UACCE) += uacce/
obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o
obj-$(CONFIG_HISI_HIKEY_USB) += hisi_hikey_usb.o obj-$(CONFIG_HISI_HIKEY_USB) += hisi_hikey_usb.o
+obj-$(CONFIG_WINESYNC) += winesync.o +obj-$(CONFIG_WINESYNC) += winesync.o
obj-$(CONFIG_HI6421V600_IRQ) += hi6421v600-irq.o obj-$(CONFIG_HI6421V600_IRQ) += hi6421v600-irq.o
obj-$(CONFIG_OPEN_DICE) += open-dice.o obj-$(CONFIG_OPEN_DICE) += open-dice.o
obj-$(CONFIG_VCPU_STALL_DETECTOR) += vcpu_stall_detector.o
\ No newline at end of file
diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
new file mode 100644 new file mode 100644
index 000000000000..111f33c5676e index 000000000000..111f33c5676e
@@ -115,7 +117,7 @@ index 000000000000..111f33c5676e
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_ALIAS("devname:" WINESYNC_NAME); +MODULE_ALIAS("devname:" WINESYNC_NAME);
-- --
2.36.0 2.37.3
From 1f142d40cb7537bd936a68cadaf0f2a0d94abd62 Mon Sep 17 00:00:00 2001 From 1f142d40cb7537bd936a68cadaf0f2a0d94abd62 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com> From: Zebediah Figura <zfigura@codeweavers.com>
@@ -146,10 +148,10 @@ index c07dc0ee860e..4e5abe508426 100644
11 char Raw keyboard device (Linux/SPARC only) 11 char Raw keyboard device (Linux/SPARC only)
diff --git a/Documentation/userspace-api/ioctl/ioctl-number.rst b/Documentation/userspace-api/ioctl/ioctl-number.rst diff --git a/Documentation/userspace-api/ioctl/ioctl-number.rst b/Documentation/userspace-api/ioctl/ioctl-number.rst
index cfe6cccf0f44..d31e014d7bcb 100644 index 3b985b19f39d..3f313fd4338c 100644
--- a/Documentation/userspace-api/ioctl/ioctl-number.rst --- a/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ b/Documentation/userspace-api/ioctl/ioctl-number.rst +++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
@@ -371,6 +371,8 @@ Code Seq# Include File Comments @@ -375,6 +375,8 @@ Code Seq# Include File Comments
<mailto:thomas@winischhofer.net> <mailto:thomas@winischhofer.net>
0xF6 all LTTng Linux Trace Toolkit Next Generation 0xF6 all LTTng Linux Trace Toolkit Next Generation
<mailto:mathieu.desnoyers@efficios.com> <mailto:mathieu.desnoyers@efficios.com>
@@ -2177,10 +2179,10 @@ diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index c852eb40c4f7..a366016d6254 100644 index c852eb40c4f7..a366016d6254 100644
--- a/tools/testing/selftests/Makefile --- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile
@@ -13,6 +13,7 @@ TARGETS += damon @@ -14,6 +14,7 @@ TARGETS += drivers/dma-buf
TARGETS += drivers/dma-buf
TARGETS += drivers/s390x/uvdevice TARGETS += drivers/s390x/uvdevice
TARGETS += drivers/net/bonding TARGETS += drivers/net/bonding
TARGETS += drivers/net/team
+TARGETS += drivers/winesync +TARGETS += drivers/winesync
TARGETS += efivarfs TARGETS += efivarfs
TARGETS += exec TARGETS += exec
@@ -3282,10 +3284,10 @@ Subject: [PATCH 20/34] maintainers: Add an entry for winesync.
1 file changed, 9 insertions(+) 1 file changed, 9 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS
index af9530d98717..f51064fca6e9 100644 index 72b9654f764c..ff31beb17835 100644
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -20536,6 +20536,15 @@ M: David Härdeman <david@hardeman.nu> @@ -21920,6 +21920,15 @@ M: David Härdeman <david@hardeman.nu>
S: Maintained S: Maintained
F: drivers/media/rc/winbond-cir.c F: drivers/media/rc/winbond-cir.c
@@ -3299,10 +3301,10 @@ index af9530d98717..f51064fca6e9 100644
+F: tools/testing/selftests/drivers/winesync/ +F: tools/testing/selftests/drivers/winesync/
+ +
WINSYSTEMS EBC-C384 WATCHDOG DRIVER WINSYSTEMS EBC-C384 WATCHDOG DRIVER
M: William Breathitt Gray <vilhelm.gray@gmail.com> M: William Breathitt Gray <william.gray@linaro.org>
L: linux-watchdog@vger.kernel.org L: linux-watchdog@vger.kernel.org
-- --
2.36.0 2.37.3
From 4e6e34339182f13972e7b906c0bd0dde74eda3d7 Mon Sep 17 00:00:00 2001 From 4e6e34339182f13972e7b906c0bd0dde74eda3d7 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com> From: Zebediah Figura <zfigura@codeweavers.com>
@@ -4493,10 +4495,10 @@ Subject: [PATCH 31/34] winesync: Introduce alertable waits.
2 files changed, 60 insertions(+), 10 deletions(-) 2 files changed, 60 insertions(+), 10 deletions(-)
diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
index 0f8a8a94eef8..64b379d846db 100644 index 4fbf231a7909..7a28f58dbbf2 100644
--- a/drivers/misc/winesync.c --- a/drivers/misc/winesync.c
+++ b/drivers/misc/winesync.c +++ b/drivers/misc/winesync.c
@@ -842,10 +842,11 @@ static int setup_wait(struct winesync_device *dev, @@ -841,10 +841,11 @@ static int setup_wait(struct winesync_device *dev,
const __u32 count = args->count; const __u32 count = args->count;
struct winesync_q *q; struct winesync_q *q;
ktime_t timeout = 0; ktime_t timeout = 0;
@@ -4509,7 +4511,7 @@ index 0f8a8a94eef8..64b379d846db 100644
return -EINVAL; return -EINVAL;
if (args->timeout) { if (args->timeout) {
@@ -859,7 +860,11 @@ static int setup_wait(struct winesync_device *dev, @@ -858,7 +859,11 @@ static int setup_wait(struct winesync_device *dev,
timeout = timespec64_to_ns(&to); timeout = timespec64_to_ns(&to);
} }
@@ -4522,7 +4524,7 @@ index 0f8a8a94eef8..64b379d846db 100644
if (!ids) if (!ids)
return -ENOMEM; return -ENOMEM;
if (copy_from_user(ids, u64_to_user_ptr(args->objs), if (copy_from_user(ids, u64_to_user_ptr(args->objs),
@@ -867,8 +872,10 @@ static int setup_wait(struct winesync_device *dev, @@ -866,8 +871,10 @@ static int setup_wait(struct winesync_device *dev,
kfree(ids); kfree(ids);
return -EFAULT; return -EFAULT;
} }
@@ -4534,7 +4536,7 @@ index 0f8a8a94eef8..64b379d846db 100644
if (!q) { if (!q) {
kfree(ids); kfree(ids);
return -ENOMEM; return -ENOMEM;
@@ -880,7 +887,7 @@ static int setup_wait(struct winesync_device *dev, @@ -879,7 +886,7 @@ static int setup_wait(struct winesync_device *dev,
q->ownerdead = false; q->ownerdead = false;
q->count = count; q->count = count;
@@ -4543,7 +4545,7 @@ index 0f8a8a94eef8..64b379d846db 100644
struct winesync_q_entry *entry = &q->entries[i]; struct winesync_q_entry *entry = &q->entries[i];
struct winesync_obj *obj = get_obj(dev, ids[i]); struct winesync_obj *obj = get_obj(dev, ids[i]);
@@ -935,9 +942,9 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp) @@ -934,9 +941,9 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
{ {
struct winesync_wait_args args; struct winesync_wait_args args;
struct winesync_q *q; struct winesync_q *q;
@@ -4554,7 +4556,7 @@ index 0f8a8a94eef8..64b379d846db 100644
int ret; int ret;
if (copy_from_user(&args, argp, sizeof(args))) if (copy_from_user(&args, argp, sizeof(args)))
@@ -947,9 +954,13 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp) @@ -946,9 +953,13 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
if (ret < 0) if (ret < 0)
return ret; return ret;
@@ -4569,7 +4571,7 @@ index 0f8a8a94eef8..64b379d846db 100644
struct winesync_q_entry *entry = &q->entries[i]; struct winesync_q_entry *entry = &q->entries[i];
struct winesync_obj *obj = entry->obj; struct winesync_obj *obj = entry->obj;
@@ -958,9 +969,15 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp) @@ -957,9 +968,15 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
spin_unlock(&obj->lock); spin_unlock(&obj->lock);
} }
@@ -4587,7 +4589,7 @@ index 0f8a8a94eef8..64b379d846db 100644
struct winesync_obj *obj = q->entries[i].obj; struct winesync_obj *obj = q->entries[i].obj;
if (atomic_read(&q->signaled) != -1) if (atomic_read(&q->signaled) != -1)
@@ -977,7 +994,7 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp) @@ -976,7 +993,7 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
/* and finally, unqueue */ /* and finally, unqueue */
@@ -4596,7 +4598,7 @@ index 0f8a8a94eef8..64b379d846db 100644
struct winesync_q_entry *entry = &q->entries[i]; struct winesync_q_entry *entry = &q->entries[i];
struct winesync_obj *obj = entry->obj; struct winesync_obj *obj = entry->obj;
@@ -1037,6 +1054,14 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp) @@ -1036,6 +1053,14 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
*/ */
list_add_tail(&entry->node, &obj->all_waiters); list_add_tail(&entry->node, &obj->all_waiters);
} }
@@ -4611,7 +4613,7 @@ index 0f8a8a94eef8..64b379d846db 100644
/* check if we are already signaled */ /* check if we are already signaled */
@@ -1044,6 +1069,21 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp) @@ -1043,6 +1068,21 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
spin_unlock(&dev->wait_all_lock); spin_unlock(&dev->wait_all_lock);
@@ -4633,7 +4635,7 @@ index 0f8a8a94eef8..64b379d846db 100644
/* sleep */ /* sleep */
ret = winesync_schedule(q, args.timeout ? &timeout : NULL); ret = winesync_schedule(q, args.timeout ? &timeout : NULL);
@@ -1066,6 +1106,16 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp) @@ -1065,6 +1105,16 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
put_obj(obj); put_obj(obj);
} }
@@ -4664,7 +4666,7 @@ index fb3788339ffe..5b4e369f7469 100644
#define WINESYNC_IOC_BASE 0xf7 #define WINESYNC_IOC_BASE 0xf7
-- --
2.36.0 2.37.3
From 127efad71a0702a68890097b114b3467c234259f Mon Sep 17 00:00:00 2001 From 127efad71a0702a68890097b114b3467c234259f Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com> From: Zebediah Figura <zfigura@codeweavers.com>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,90 @@
From f7f49141a5dbe9c99d78196b58c44307fb2e6be3 Mon Sep 17 00:00:00 2001
From: Tk-Glitch <ti3nou@gmail.com>
Date: Wed, 4 Jul 2018 04:30:08 +0200
Subject: glitched - BMQ
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
index 2a202a846757..1d9c7ed79b11 100644
--- a/kernel/Kconfig.hz
+++ b/kernel/Kconfig.hz
@@ -4,7 +4,7 @@
choice
prompt "Timer frequency"
- default HZ_250
+ default HZ_500
help
Allows the configuration of the timer frequency. It is customary
to have the timer interrupt run at 1000 Hz but 100 Hz may be more
@@ -39,6 +39,13 @@ choice
on SMP and NUMA systems and exactly dividing by both PAL and
NTSC frame rates for video and multimedia work.
+ config HZ_500
+ bool "500 HZ"
+ help
+ 500 Hz is a balanced timer frequency. Provides fast interactivity
+ on desktops with great smoothness without increasing CPU power
+ consumption and sacrificing the battery life on laptops.
+
config HZ_1000
bool "1000 HZ"
help
@@ -52,6 +59,7 @@ config HZ
default 100 if HZ_100
default 250 if HZ_250
default 300 if HZ_300
+ default 500 if HZ_500
default 1000 if HZ_1000
config SCHED_HRTICK
diff --git a/kernel/Kconfig.hz b/kernel/Kconfig.hz
index 2a202a846757..1d9c7ed79b11 100644
--- a/kernel/Kconfig.hz
+++ b/kernel/Kconfig.hz
@@ -4,7 +4,7 @@
choice
prompt "Timer frequency"
- default HZ_500
+ default HZ_750
help
Allows the configuration of the timer frequency. It is customary
to have the timer interrupt run at 1000 Hz but 100 Hz may be more
@@ -46,6 +46,13 @@ choice
on desktops with great smoothness without increasing CPU power
consumption and sacrificing the battery life on laptops.
+ config HZ_750
+ bool "750 HZ"
+ help
+ 750 Hz is a good timer frequency for desktops. Provides fast
+ interactivity with great smoothness without sacrificing too
+ much throughput.
+
config HZ_1000
bool "1000 HZ"
help
@@ -60,6 +67,7 @@ config HZ
default 250 if HZ_250
default 300 if HZ_300
default 500 if HZ_500
+ default 750 if HZ_750
default 1000 if HZ_1000
config SCHED_HRTICK
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 9270a4370d54..30d01e647417 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -169,7 +169,7 @@
/*
* From 0 .. 200. Higher means more swappy.
*/
-int vm_swappiness = 60;
+int vm_swappiness = 20;
static void set_task_reclaim_state(struct task_struct *task,
struct reclaim_state *rs)

View File

@@ -0,0 +1,18 @@
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
index 6b423eebfd5d..61e3271675d6 100644
--- a/drivers/cpufreq/cpufreq_ondemand.c
+++ b/drivers/cpufreq/cpufreq_ondemand.c
@@ -21,10 +21,10 @@
#include "cpufreq_ondemand.h"
/* On-demand governor macros */
-#define DEF_FREQUENCY_UP_THRESHOLD (80)
-#define DEF_SAMPLING_DOWN_FACTOR (1)
+#define DEF_FREQUENCY_UP_THRESHOLD (55)
+#define DEF_SAMPLING_DOWN_FACTOR (5)
#define MAX_SAMPLING_DOWN_FACTOR (100000)
-#define MICRO_FREQUENCY_UP_THRESHOLD (95)
+#define MICRO_FREQUENCY_UP_THRESHOLD (63)
#define MICRO_FREQUENCY_MIN_SAMPLE_RATE (10000)
#define MIN_FREQUENCY_UP_THRESHOLD (1)
#define MAX_FREQUENCY_UP_THRESHOLD (100)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
# Remove the obsoletes line in kernel-headers
# Add provides for kernel-devel so there's no conflict
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index 7c477ca7d..1158f5559 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -25,0 +26 @@ fi
+PROVIDES_DRM=""
@@ -27 +28 @@ if grep -q CONFIG_DRM=y .config; then
- PROVIDES=kernel-drm
+ PROVIDES_DRM="Provides: kernel-drm = %{version}"
@@ -30 +30,0 @@ fi
-PROVIDES="$PROVIDES kernel-$KERNELRELEASE"
@@ -51 +51,3 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Provides: $PROVIDES
+ $PROVIDES_DRM
+ Provides: kernel = %{version}
+ Provides: kernel-uname-r = %{version}
+ Provides: installonlypkg(kernel) = %{version}
@@ -61 +63 @@ $S Source: kernel-$__KERNELRELEASE.tar.gz
- Obsoletes: kernel-headers
+ Provides: installonlypkg(kernel) = %{version}
@@ -72,0 +75,3 @@ $S$M Group: System Environment/Kernel
+$S$M Provides: kernel-devel = %{version}
+$S$M Provides: kernel-devel-uname-r = %{version}
+$S$M Provides: installonlypkg(kernel) = %{version}