commit 66838cc66adfa4d24551f688142c801770bac88c Author: Alexandre Frade Date: Tue Mar 31 13:51:54 2020 -0300 5.6.0-xanmod1 Signed-off-by: Alexandre Frade commit 704b2277b5e2a8b82f0a04db89fe6e0257696a39 Author: Gabriel Krisman Bertazi Date: Sun Jan 5 09:54:19 2020 -0300 futex: Add support for multiple keys at the same time Split the futex key setup from the queue locking and key reading. This is useful to support the setup of multiple keys at the same time, like what is done in futex_requeue() and what will be done for the FUTEX_WAIT_MULTIPLE command. Signed-off-by: Gabriel Krisman Bertazi commit 856538feaba63de84aa3ca71d7b0e12dcc7f5b43 Author: graysky Date: Tue Mar 31 13:43:01 2020 -0300 x86/kconfig: Enable additional cpu optimizations for gcc v9.1+ WARNING This patch works with gcc versions 9.1+ and with kernel version 5.5+ and should NOT be applied when compiling on older versions of gcc due to key name changes of the march flags introduced with the version 4.9 release of gcc.[1] Use the older version of this patch hosted on the same github for older versions of gcc. FEATURES This patch adds additional CPU options to the Linux kernel accessible under: Processor type and features ---> Processor family ---> The expanded microarchitectures include: * AMD Improved K8-family * AMD K10-family * AMD Family 10h (Barcelona) * AMD Family 14h (Bobcat) * AMD Family 16h (Jaguar) * AMD Family 15h (Bulldozer) * AMD Family 15h (Piledriver) * AMD Family 15h (Steamroller) * AMD Family 15h (Excavator) * AMD Family 17h (Zen) * AMD Family 17h (Zen 2) * Intel Silvermont low-power processors * Intel Goldmont low-power processors (Apollo Lake and Denverton) * Intel Goldmont Plus low-power processors (Gemini Lake) * Intel 1st Gen Core i3/i5/i7 (Nehalem) * Intel 1.5 Gen Core i3/i5/i7 (Westmere) * Intel 2nd Gen Core i3/i5/i7 (Sandybridge) * Intel 3rd Gen Core i3/i5/i7 (Ivybridge) * Intel 4th Gen Core i3/i5/i7 (Haswell) * Intel 5th Gen Core i3/i5/i7 (Broadwell) * Intel 6th Gen Core i3/i5/i7 (Skylake) * Intel 6th Gen Core i7/i9 (Skylake X) * Intel 8th Gen Core i3/i5/i7 (Cannon Lake) * Intel 10th Gen Core i7/i9 (Ice Lake) * Intel Xeon (Cascade Lake) It also offers to compile passing the 'native' option which, "selects the CPU to generate code for at compilation time by determining the processor type of the compiling machine. Using -march=native enables all instruction subsets supported by the local machine and will produce code optimized for the local machine under the constraints of the selected instruction set."[3] MINOR NOTES This patch also changes 'atom' to 'bonnell' in accordance with the gcc v4.9 changes. Note that upstream is using the deprecated 'match=atom' flags when I believe it should use the newer 'march=bonnell' flag for atom processors.[2] It is not recommended to compile on Atom-CPUs with the 'native' option.[4] The recommendation is to use the 'atom' option instead. BENEFITS Small but real speed increases are measurable using a make endpoint comparing a generic kernel to one built with one of the respective microarchs. See the following experimental evidence supporting this statement: https://github.com/graysky2/kernel_gcc_patch REQUIREMENTS linux version >=5.5 gcc version >=9.1 ACKNOWLEDGMENTS This patch builds on the seminal work by Jeroen.[5] REFERENCES 1. https://gcc.gnu.org/gcc-4.9/changes.html 2. https://bugzilla.kernel.org/show_bug.cgi?id=77461 3. https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html 4. https://github.com/graysky2/kernel_gcc_patch/issues/15 5. http://www.linuxforge.net/docs/linux/linux-gcc.php commit 27e1af2d78956ad52d15b67f51cd17e886584f51 Author: Ben Hutchings Date: Tue Jun 26 16:59:01 2018 +0100 android: Export symbols needed by Android drivers We want to enable use of the Android ashmem and binder drivers to support Anbox, but they should not be built-in as that would waste resources and increase security attack surface on systems that don't need them. Export the currently un-exported symbols they depend on. commit 780cc71226d589dfbf335e6696f5ee8c72986fbc Author: Ben Hutchings Date: Fri Jun 22 17:27:00 2018 +0100 android: Enable building ashmem and binder as modules We want to enable use of the Android ashmem and binder drivers to support Anbox, but they should not be built-in as that would waste resources and increase security attack surface on systems that don't need them. - Add a MODULE_LICENSE declaration to ashmem - Change the Makefiles to build each driver as an object with the "_linux" suffix (which is what Anbox expects) - Change config symbol types to tristate commit 6b86c96241536c55fbf90692c541de7ccbe83cb4 Author: Ben Hutchings Date: Wed Mar 16 03:17:06 2011 +0000 sched: Do not enable autogrouping by default We want to provide the option of autogrouping but without enabling it by default yet. commit e3fbe2782a4562baee180b5e9bb8749a4762ef7b Author: Arjan van de Ven Date: Sun Feb 18 23:35:41 2018 +0000 locking: rwsem: spin faster tweak rwsem owner spinning a bit commit c25bbfa6eef4dd2b98c5a50d608b446fddbeb040 Author: William Douglas Date: Wed Jun 20 17:23:21 2018 +0000 firmware: Enable stateless firmware loading Prefer the order of specific version before generic and /etc before /lib to enable the user to give specific overrides for generic firmware and distribution firmware. commit a5dfc5fe328d8fca463fff547de9889c19dc0fc4 Author: Arjan van de Ven Date: Thu Jun 2 23:36:32 2016 -0500 drivers: Initialize ata before graphics ATA init is the long pole in the boot process, and its asynchronous. move the graphics init after it so that ata and graphics initialize in parallel commit 1ca72cfb724cdf85d8df6eca89c61877e9dd502f Author: Arjan van de Ven Date: Sun Sep 22 11:12:35 2019 -0300 intel_rapl: Silence rapl trace debug commit d2e95074ef3b9a2aff73a44b0d7a211c6eaf55e5 Author: Ilie Halip Date: Sat Nov 30 13:48:03 2019 -0300 kbuild: reuse intermediate linker scripts in the final link steps ld.bfd forces `--undefined X` symbols to be added to the resulting binary even if they're never used. In contrast, ld.lld may silently discard them if they're not referenced. If a kernel exported symbol (EXPORT_SYMBOL*(X)) is not used internally, it may get stripped away by ld.lld. An obvious example is __memcat_p(), which is only used by the `stm` module. With CONFIG_STM=m, the build fails: ERROR: "__memcat_p" [drivers/hwtracing/stm/stm_core.ko] undefined! Work around this issue by reusing the intermediate linker scripts in the final link steps. Signed-off-by: Ilie Halip Signed-off-by: Alexandre Frade commit b2f40da21e944356f8b3eef33e8d7f4da3949655 Author: Alexandre Frade Date: Wed Oct 24 16:58:52 2018 -0300 net/sched: allow configuring cake qdisc as default Signed-off-by: Alexandre Frade commit a82aa93072ecbba8c8d2090b8064260f6c69f3a6 Author: Alexandre Frade Date: Mon Jan 29 18:29:13 2018 +0000 sched/core: nr_migrate = 256 increases number of tasks to iterate in a single balance run. Signed-off-by: Alexandre Frade commit 76bd1df3747a5552aa805e0b02a0e0f27de5a15b Author: Alexandre Frade Date: Mon Jan 29 17:41:29 2018 +0000 scripts: disable the localversion "+" tag of a git repo Signed-off-by: Alexandre Frade commit 96c8b627bb0e99fb2f54fdd46b59f4a515be8b07 Author: Alexandre Frade Date: Mon Jan 29 17:36:22 2018 +0000 mm/zswap: set to use lz4 compressor Signed-off-by: Alexandre Frade commit 6773ad19f3853638e06374f3b08e823a8c21a982 Author: Mark Weiman Date: Sun Aug 12 11:36:21 2018 -0400 pci: Enable overrides for missing ACS capabilities This an updated version of Alex Williamson's patch from: https://lkml.org/lkml/2013/5/30/513 Original commit message follows: PCIe ACS (Access Control Services) is the PCIe 2.0+ feature that allows us to control whether transactions are allowed to be redirected in various subnodes of a PCIe topology. For instance, if two endpoints are below a root port or downsteam switch port, the downstream port may optionally redirect transactions between the devices, bypassing upstream devices. The same can happen internally on multifunction devices. The transaction may never be visible to the upstream devices. One upstream device that we particularly care about is the IOMMU. If a redirection occurs in the topology below the IOMMU, then the IOMMU cannot provide isolation between devices. This is why the PCIe spec encourages topologies to include ACS support. Without it, we have to assume peer-to-peer DMA within a hierarchy can bypass IOMMU isolation. Unfortunately, far too many topologies do not support ACS to make this a steadfast requirement. Even the latest chipsets from Intel are only sporadically supporting ACS. We have trouble getting interconnect vendors to include the PCIe spec required PCIe capability, let alone suggested features. Therefore, we need to add some flexibility. The pcie_acs_override= boot option lets users opt-in specific devices or sets of devices to assume ACS support. The "downstream" option assumes full ACS support on root ports and downstream switch ports. The "multifunction" option assumes the subset of ACS features available on multifunction endpoints and upstream switch ports are supported. The "id:nnnn:nnnn" option enables ACS support on devices matching the provided vendor and device IDs, allowing more strategic ACS overrides. These options may be combined in any order. A maximum of 16 id specific overrides are available. It's suggested to use the most limited set of options necessary to avoid completely disabling ACS across the topology. Note to hardware vendors, we have facilities to permanently quirk specific devices which enforce isolation but not provide an ACS capability. Please contact me to have your devices added and save your customers the hassle of this boot option. Signed-off-by: Mark Weiman Signed-off-by: Alexandre Frade commit f2e488b87e1b7c916d57c02fd53774c5a03f891b Author: Alexandre Frade Date: Mon Jan 29 17:31:25 2018 +0000 mm/vmscan: vm_swappiness = 30 decreases the amount of swapping Signed-off-by: Alexandre Frade commit 4e2df1c0d7fa4855d274f79da70b8a712f318262 Author: Alexandre Frade Date: Mon Jan 29 16:59:22 2018 +0000 dcache: cache_pressure = 50 decreases the rate at which VFS caches are reclaimed Signed-off-by: Alexandre Frade commit dabe920e725a16e8c8d492b8e3a2bb08bf7557fb Author: Alexandre Frade Date: Sun Oct 13 03:10:39 2019 -0300 kconfig: set PREEMPT and RCU_BOOST without delay by default Signed-off-by: Alexandre Frade commit 3b73e4fb456ddfb4a13daa15a98265b7b40a5b93 Author: Alexandre Frade Date: Mon Jan 29 17:26:15 2018 +0000 kconfig: add 500Hz timer interrupt kernel config option Signed-off-by: Alexandre Frade commit 7b8d1ecbef156cee637731db9e9ea6f1a8f3bb22 Author: Alexandre Frade Date: Fri May 10 14:32:50 2019 -0300 mm: set 2 megabytes for address_space-level file read-ahead pages size Signed-off-by: Alexandre Frade commit 2441150b67e586a9efb2f14dabd0f0abfee3ba2b Author: Alexandre Frade Date: Fri May 10 16:45:59 2019 -0300 block: set rq_affinity = 2 for full multithreading I/O requests Signed-off-by: Alexandre Frade commit c423771e3ee70e443f5716471ddf64798d92a409 Author: Alexandre Frade Date: Mon Nov 25 15:13:06 2019 -0300 elevator: set default scheduler to bfq for blk-mq Signed-off-by: Alexandre Frade commit 4008fd6dd6e28548b363ceb5f567af22fe15ed76 Author: Alexandre Frade Date: Tue Mar 31 13:32:08 2020 -0300 cpufreq: tunes ondemand and conservative governor for performance Signed-off-by: Alexandre Frade commit 40e69b3292279fc4e30792c9b4e8ba3387770545 Author: J. R. Okajima Date: Tue Mar 31 00:08:41 2020 -0300 fs: Introduce the Advanced Multi Layered Unification Filesystem (AUFS) v5.x-rcN 20200302 commit 7111951b8d4973bda27ff663f2cf18b663d15b48 Author: Linus Torvalds Date: Sun Mar 29 15:25:41 2020 -0700 Linux 5.6