Commit graph

6678 commits

Author SHA1 Message Date
d48c28b323 Update .github/workflows/kernel.yml 2024-12-14 13:33:39 +01:00
73d436bf59 Update branches 2024-12-14 13:12:00 +01:00
d64ddaf9c4 Rebrand for FireAsf 2024-12-14 12:54:54 +01:00
16c33f2fbc kernel_build: Nuke bloat 2024-12-14 12:51:06 +01:00
6bfb284ac4 drivers: exynos-bcm: Build without EXYNOS_DEBUG 2024-12-13 19:53:18 +01:00
579f5809f3 defconfig: a53x_defconfig: Nuke EXYNOS_DEBUG 2024-12-13 19:50:59 +01:00
7713ceb1f7 Revert "selinux: add security_sid_to_context_type() function"
This reverts commit 16e5331962.
2024-12-13 19:44:19 +01:00
352f8ae637 Revert "selinux: cache zygote context types when loading policy"
This reverts commit fd3f9648e3.
2024-12-13 19:44:19 +01:00
37f44d83a1 Revert "Make more sysctl constants read-only"
This reverts commit 6527a24e6f.
2024-12-13 19:44:19 +01:00
eb9f49cfc7 Revert "make sysctl constants read-only"
This reverts commit 1f63f26cd2.
2024-12-13 19:44:19 +01:00
88a604e7c4 Revert "mark kmem_cache as __ro_after_init"
This reverts commit 2080fd3f3a.
2024-12-13 19:44:19 +01:00
ff5c74d00c Revert "add __ro_after_init to slab_nomerge and slab_state"
This reverts commit a96370e583.
2024-12-13 19:44:19 +01:00
83ca0706a0 Revert "mm: randomize lower bits of brk"
This reverts commit 2994f3aa26.
2024-12-13 19:44:19 +01:00
db7496cd5f Revert "support randomizing the lower bits of brk"
This reverts commit e3839126e6.
2024-12-13 19:44:19 +01:00
ece840ae37 Revert "arm64: determine stack entropy based on mmap entropy"
This reverts commit df64e52e41.
2024-12-13 19:44:19 +01:00
9bd906b03d Revert "add alloc_pages_exact alloc_size attributes"
This reverts commit 689144b172.
2024-12-13 19:44:18 +01:00
91995ef07f Revert "add percpu alloc_size attributes"
This reverts commit 4816ac7943.
2024-12-13 19:44:18 +01:00
5b8d0cd5f0 Revert "add kvmalloc alloc_size attribute"
This reverts commit 11c4ea478b.
2024-12-13 19:44:18 +01:00
2be24d6b8b Revert "add vmalloc alloc_size attributes"
This reverts commit 78d3c27fff.
2024-12-13 19:44:18 +01:00
87b83b3ab3 Revert "add kmalloc/krealloc alloc_size attributes"
This reverts commit 4e3b773c8c.
2024-12-13 19:44:18 +01:00
297fe16eaf Revert "mm: add support for verifying page sanitization"
This reverts commit 7617e31b3c.
2024-12-13 19:44:18 +01:00
e1a9aa973c Revert "bug on !PageSlab && !PageCompound in ksize"
This reverts commit 0fc6163cd6.
2024-12-13 19:44:18 +01:00
e2bbab2d22 Revert "bug on kmem_cache_free with the wrong cache"
This reverts commit 8df273c856.
2024-12-13 19:44:18 +01:00
2952f0d34d Revert "bug on cache_from_obj !PageSlab check"
This reverts commit c12b6fe5f1.
2024-12-13 19:44:18 +01:00
6ae70539d5 Revert "dm-unstriped: cast an operand to sector_t to prevent potential uint32_t overflow"
This reverts commit 3676f0afd7.
2024-12-13 19:44:18 +01:00
5861bc757f Revert "fs: create kiocb_{start,end}_write() helpers"
This reverts commit cf82fd7a6a.
2024-12-13 19:44:18 +01:00
8311a6fe36 Revert "io_uring: use kiocb_{start,end}_write() helpers"
This reverts commit da59b97e30.
2024-12-13 19:44:18 +01:00
4ae2ca820d Revert "io_uring/rw: fix missing NOWAIT check for O_DIRECT start write"
This reverts commit bb5321e6e0.
2024-12-13 19:44:18 +01:00
c09929ddba Revert "kernel: panic.c: Set panic_timeoutu = 0; and panic_on_oops = 0;"
This reverts commit 5eecb1807a.
2024-12-13 19:39:25 +01:00
freak07
d50c22bf50 mm: vmstat: use power efficient workingqueues
(cherry picked from commit 52e60a930f0480f2082bc65836c7edb4861de7aa)
(cherry picked from commit bb05861a4f3bb99b76e7e43ba17f3659fcb12443)
(cherry picked from commit d92be4aa5222a52104bed81fe60c5c10a091b4c1)
(cherry picked from commit cc59747fd00d37a9cbcfc3d5175de1a9062dd758)
(cherry picked from commit 101acdd830d9b9cd02104b7721886ee3d16a3930)
(cherry picked from commit faf5434d8d14ae88886aa7b21308c68ff2bce208)
(cherry picked from commit edb793442e06e5499761c40335b109118d13d676)
(cherry picked from commit 36d9884dd06be11d312174806f5635fad205d96c)
(cherry picked from commit e70e90b8bd8f7eba350557a51048f6431bd990b6)
(cherry picked from commit 9eaab60f5360aa13185c63b82231d1f2c814bdcf)
(cherry picked from commit e51c6715a6110da0697d65530154e44f729d7f70)
(cherry picked from commit 06c1d2b640eec244403d0c52da508b210af94881)
(cherry picked from commit 9d1b56fdba1323c41725873e2367b2bdd2693817)
(cherry picked from commit 7df85bddf4000f0f9146ca72e89da11ea82a0a99)
(cherry picked from commit 63765755ceb1e0e74b13395a3c3a9d4c9badb1a1)
(cherry picked from commit 47ba0aaf2ab21b1b1d8c3bb3f651b7254020443d)
(cherry picked from commit d5a3efc7ea799fd64bae357c4d42d315a14c4909)
(cherry picked from commit 620d3a3d388d3c8ec1227ba54ef7ec74b240831d)
2024-12-08 00:26:30 +01:00
Sultan Alsawaf
cb79672815 PM / devfreq: Make the monitor workqueue high priority
Running the devfreq monitor in a normal-priority workqueue can result
in the devfreq mutex lock being held for a while when the monitor
worker sleeps inside update_devfreq(). Freeing up the devfreq mutex
lock is important to ensure timely devfreq boosts, so run the monitor
workqueue in a high-priority workqueue to reduce the lock duration.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: celtare21 <celtare21@gmail.com>
2024-12-08 00:26:21 +01:00
haridhayal11
bd260c10fc zram: Set default compressor to lz4 2024-12-08 00:25:46 +01:00
celtare21
2129eb4fe8 net/sched: Shut up
Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: engstk <eng.stk@sapo.pt>
2024-12-08 00:24:14 +01:00
celtare21
65da85351f init: CC_OPTIMIZE_FOR_PERFORMANCE_O3 don't depend on ARC
Signed-off-by: celtare21 <celtare21@gmail.com>
2024-12-08 00:21:24 +01:00
franciscofranco
0d3102deea fs: fsync on/off support
[efremov: change permissions from 0755 to 0644]
Signed-off-by: djb77 <dwayne.bakewell@gmail.com>
Signed-off-by: Denis Efremov <efremov@linux.com>
2024-12-08 00:21:07 +01:00
5eecb1807a kernel: panic.c: Set panic_timeoutu = 0; and panic_on_oops = 0;
Before setting sysctl -w kernel.panic=0
and sysctl -w kernel.panic_on_oops=0 (using adb shell) i had random crashes
2024-12-08 00:01:12 +01:00
Ksawlii
99782ed53a defconfigs: a53x*: Regenerated with newer clang and Linux 5.10.230 Stable 2024-12-07 19:18:06 +01:00
57c256f5d3 kernel_build: build-ksu.sh: Switch up to clang-r536225 from crdroidandroid gitlab 2024-12-07 18:57:14 +01:00
Barry Song
b949395346 sched/fair: Optimize test_idle_cores() for !SMT
update_idle_core() is only done for the case of sched_smt_present.
but test_idle_cores() is done for all machines even those without
SMT.

This can contribute to up 8%+ hackbench performance loss on a
machine like kunpeng 920 which has no SMT. This patch removes the
redundant test_idle_cores() for !SMT machines.

Hackbench is ran with -g {2..14}, for each g it is ran 10 times to get
an average.

  $ numactl -N 0 hackbench -p -T -l 20000 -g $1

The below is the result of hackbench w/ and w/o this patch:

  g=    2      4     6       8      10     12      14
  w/o: 1.8151 3.8499 5.5142 7.2491 9.0340 10.7345 12.0929
  w/ : 1.8428 3.7436 5.4501 6.9522 8.2882  9.9535 11.3367
			    +4.1%  +8.3%  +7.3%   +6.3%

Signed-off-by: Barry Song <song.bao.hua@hisilicon.com>
Change-Id: I0dd9363d2b8da9dda0bed205a5ddc36f75fabeef
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Tashfin Shakeer Rhythm <tashfinshakeerrhythm@gmail.com>
(cherry picked from commit 7c201829c9c1e1ebb1384de66e02b8249d83167e)
Signed-off-by: TogoFire <togofire@mailfence.com>
Signed-off-by: onettboots <blackcocopet@gmail.com>
2024-12-03 21:50:09 +01:00
Exynos-nibba
6b31cca191 gfs: disable for better ui perf 2024-12-03 21:49:35 +01:00
Peter Zijlstra
88fde1823a sched,rt: Use cpumask_any*_distribute()
Replace a bunch of cpumask_any*() instances with
cpumask_any*_distribute(), by injecting this little bit of random in
cpu selection, we reduce the chance two competing balance operations
working off the same lowest_mask pick the same CPU.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Reviewed-by: Daniel Bristot de Oliveira <bristot@redhat.com>
Link: https://lkml.kernel.org/r/20201023102347.190759694@infradead.org
Signed-off-by: John Vincent <git@tenseventyseven.cf>
2024-12-03 21:47:07 +01:00
Sebastian Andrzej Siewior
98e696a272 sched/rt: Don't try push tasks if there are none.
I have a RT task X at a high priority and cyclictest on each CPU with
lower priority than X's. If X is active and each CPU wakes their own
cylictest thread then it ends in a longer rto_push storm.
A random CPU determines via balance_rt() that the CPU on which X is
running needs to push tasks. X has the highest priority, cyclictest is
next in line so there is nothing that can be done since the task with
the higher priority is not touched.

tell_cpu_to_push() increments rto_loop_next and schedules
rto_push_irq_work_func() on X's CPU. The other CPUs also increment the
loop counter and do the same. Once rto_push_irq_work_func() is active it
does nothing because it has _no_ pushable tasks on its runqueue. Then
checks rto_next_cpu() and decides to queue irq_work on the local CPU
because another CPU requested a push by incrementing the counter.

I have traces where ~30 CPUs request this ~3 times each before it
finally ends. This greatly increases X's runtime while X isn't making
much progress.

Teach rto_next_cpu() to only return CPUs which also have tasks on their
runqueue which can be pushed away. This does not reduce the
tell_cpu_to_push() invocations (rto_loop_next counter increments) but
reduces the amount of issued rto_push_irq_work_func() if nothing can be
done. As the result the overloaded CPU is blocked less often.

There are still cases where the "same job" is repeated several times
(for instance the current CPU needs to resched but didn't yet because
the irq-work is repeated a few times and so the old task remains on the
CPU) but the majority of request end in tell_cpu_to_push() before an IPI
is issued.

Reviewed-by: "Steven Rostedt (Google)" <rostedt@goodmis.org>
Link: https://lore.kernel.org/r/20230801152648._y603AS_@linutronix.de
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2024-12-03 21:45:38 +01:00
Park Ju Hyung
51cd5d4626 trace: add CONFIG_DISABLE_TRACE_PRINTK option
Poorly made kernel trees often use trace_printk() without
properly guarding them in a #ifdef macro.
Such usage of trace_printk() causes a warning at
boot and additional memory allocation.

This option serves to disable those all at once with ease.

Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
(cherry picked from commit 9ec68f89188e461721de418545e31f37800dfa02)
(cherry picked from commit 8fb7e59ccd6cda94e29af9e6e38a96eda458c9da)
(cherry picked from commit 515ff4ab9e2428b642fcd158af94c83e3059b33b)
(cherry picked from commit ac9a6d9d6a744a11c49e9d756bd0229c912b773d)
(cherry picked from commit e4f4c2c3e696ab4135e5e63b2acae6400476ac35)
Signed-off-by: SirRGB <sirrgb@proton.me>
2024-12-03 21:45:24 +01:00
Joel Gómez
613ee071be sysctl: read-only dirty*_bytes
Signed-off-by: Joel Gómez <thegame455min@gmail.com>
2024-12-03 21:44:27 +01:00
Sultan Alsawaf
d30b7253ed qos: Don't allow userspace to impose restrictions on CPU idle levels
Giving userspace intimate control over CPU latency requirements is
nonsense. Userspace can't even stop itself from being preempted, so
there's no reason for it to have access to a mechanism primarily used to
eliminate CPU delays on the order of microseconds.

Remove userspace's ability to send pm_qos requests so that it can't hurt
power consumption.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
2024-12-03 21:43:46 +01:00
John Vincent
fff787f527 sched: fair: Reduce runtime allocated for tasks constrained by CFS bandwidth
A bunch of kernels for desktop Linux have been reducing this value to improve interactivity. From Zen[1] to CachyOS[2]. There have been attempts to reduce it on Android as well.

Experiment with reducing the CFS bandwidth slice to 4 msec, 1 less from the default. This is something I honestly don't want userspace to touch so keep it out from sysfs and modify it from the kernel directly instead. I honestly think that the 'interactivity' benefits (if it does hold water) of this change should be reflected on all performance modes on FreshROMs.

Test for performance and battery life.

[1]: https://github.com/zen-kernel/zen-kernel/commit/7de2596b35ac1db
[2]: https://github.com/CachyOS/linux/blob/base-5.18/kernel/sched/fair.c

Signed-off-by: John Vincent <git@tenseventyseven.cf>
2024-12-03 21:42:01 +01:00
Tyler Nijmeh
9341ba576e sched: Process new forks before processing their parent
This should let brand new tasks launch marginally faster.

Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
Signed-off-by: Dušan Uverić <dusan.uveric9@gmail.com>
Signed-off-by: sohamxda7 <sensoham135@gmail.com>
Signed-off-by: Peppe289 <gsperanza204@gmail.com>
Signed-off-by: dodyirawan85 <40514988+dodyirawan85@users.noreply.github.com>
2024-12-03 21:39:00 +01:00
Tyler Nijmeh
ff454a80ba sched: Allow realtime tasks to consume entire sched periods
If the scenario is right, we can run realtime tasks for 5% longer. This
also disables lockup protection from unhandled realtime tasks.

Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
Signed-off-by: ZyCromerZ <neetroid97@gmail.com>
2024-12-03 21:38:07 +01:00
tytydraco
9e751eb5cb sched: Do not reduce perceived CPU capacity while idle
CPUs that are idle are excellent candidates for latency sensitive or
high-performance tasks. Decrementing their capacity while they are idle
will result in these CPUs being chosen less, and they will prefer to
schedule smaller tasks instead of large ones. Disable this.

Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
Signed-off-by: clarencelol <clarencekuiek@icloud.com>
Signed-off-by: Tashfin Shakeer Rhythm <tashfinshakeerrhythm@gmail.com>
2024-12-03 21:37:52 +01:00
55fa68cd6a build.sh: Fixup 2024-12-03 18:20:19 +01:00