From b7ca86e9f9fefc5c4f74ee93acf51de872fdd3ea Mon Sep 17 00:00:00 2001 From: Tk-Glitch Date: Tue, 28 Apr 2020 14:13:58 +0200 Subject: [PATCH] linux56-tkg: Update ck1 patchset to 5.6 release: http://ck-hack.blogspot.com/2020/04/linux-56-ck1-muqss-version-0199-for.html Thanks Con! --- linux56-tkg/PKGBUILD | 4 +- .../linux56-tkg-patches/0004-5.6-ck1.patch | 786 +++++++++++++++--- 2 files changed, 677 insertions(+), 113 deletions(-) diff --git a/linux56-tkg/PKGBUILD b/linux56-tkg/PKGBUILD index 290e28e..d13300e 100644 --- a/linux56-tkg/PKGBUILD +++ b/linux56-tkg/PKGBUILD @@ -89,7 +89,7 @@ pkgname=("${pkgbase}" "${pkgbase}-headers") _basekernel=5.6 _sub=7 pkgver="${_basekernel}"."${_sub}" -pkgrel=15 +pkgrel=16 pkgdesc='Linux-tkg' arch=('x86_64') # no i686 in here url="http://www.kernel.org/" @@ -133,7 +133,7 @@ sha256sums=('e342b04a2aa63808ea0ef1baab28fc520bd031ef8cf93d9ee4a31d4058fcb622' '7058e57fd68367b029adc77f2a82928f1433daaf02c8c279cb2d13556c8804d7' 'c605f638d74c61861ebdc36ebd4cb8b6475eae2f6273e1ccb2bbb3e10a2ec3fe' 'bc69d6e5ee8172b0242c8fa72d13cfe2b8d2b6601468836908a7dfe8b78a3bbb' - 'd0509062a9939cc3a59c86b34a77b9d428dcea344a53a84e2cddd3d48a21591d' + 'a668b78cd8d03797e4dc514b3636a8e198db50e08d2c5ed927d3653a59b0ee5d' '62496f9ca788996181ef145f96ad26291282fcc3fb95cdc04080dcf84365be33' '7fd8e776209dac98627453fda754bdf9aff4a09f27cb0b3766d7983612eb3c74' '9ddfb1abaa01acf70e1352db1564fba591c2229d71d3c912213915388e944d6f' diff --git a/linux56-tkg/linux56-tkg-patches/0004-5.6-ck1.patch b/linux56-tkg/linux56-tkg-patches/0004-5.6-ck1.patch index 3cff90e..db0175e 100644 --- a/linux56-tkg/linux56-tkg-patches/0004-5.6-ck1.patch +++ b/linux56-tkg/linux56-tkg-patches/0004-5.6-ck1.patch @@ -1,8 +1,8 @@ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index ade4e6ec23e0..e219f958f055 100644 +index c07815d230bc..4551beefd09f 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4307,6 +4307,14 @@ +@@ -4369,6 +4369,14 @@ Memory area to be used by remote processor image, managed by CMA. @@ -834,7 +834,7 @@ index 000000000000..ae28b85c9995 + +Con Kolivas Sat, 29th October 2016 diff --git a/Makefile b/Makefile -index 6a01b073915e..dd1876725cef 100644 +index 4d0711f54047..aa5770ed49a3 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,10 @@ NAME = Kleptomaniac Octopus @@ -875,7 +875,7 @@ index a12656ec0072..b46b6ddc7636 100644 CONFIG_NET=y CONFIG_PACKET=y diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 96dab76da3b3..78611fa96178 100644 +index 97864aabc2a6..0aba7bac47e4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1237,6 +1237,8 @@ config SCHED_SMT @@ -888,7 +888,7 @@ index 96dab76da3b3..78611fa96178 100644 bool help diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig -index 519ff58e67b3..b2a05b6f7d80 100644 +index 0afcae9f7cf8..0f480f573078 100644 --- a/arch/arm/configs/bcm2835_defconfig +++ b/arch/arm/configs/bcm2835_defconfig @@ -29,7 +29,7 @@ CONFIG_MODULE_UNLOAD=y @@ -901,7 +901,7 @@ index 519ff58e67b3..b2a05b6f7d80 100644 CONFIG_KSM=y CONFIG_CLEANCACHE=y diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig -index 3608e55eaecd..614a0a30cc70 100644 +index 8f216a599735..d2c2939abf90 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig @@ -45,6 +45,7 @@ CONFIG_PCI_MSI=y @@ -926,7 +926,7 @@ index 1d923dbb9928..9c1931f1fafd 100644 CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 diff --git a/arch/arm/configs/mxs_defconfig b/arch/arm/configs/mxs_defconfig -index 2773899c21b3..870866aaa39d 100644 +index a9c6f32a9b1c..870866aaa39d 100644 --- a/arch/arm/configs/mxs_defconfig +++ b/arch/arm/configs/mxs_defconfig @@ -1,7 +1,7 @@ @@ -938,10 +938,12 @@ index 2773899c21b3..870866aaa39d 100644 CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y -@@ -27,6 +27,11 @@ CONFIG_MODVERSIONS=y +@@ -25,6 +25,13 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_BLK_DEV_INTEGRITY=y ++# CONFIG_IOSCHED_DEADLINE is not set ++# CONFIG_IOSCHED_CFQ is not set +# CONFIG_ARCH_MULTI_V7 is not set +CONFIG_ARCH_MXS=y +# CONFIG_ARM_THUMB is not set @@ -951,10 +953,10 @@ index 2773899c21b3..870866aaa39d 100644 CONFIG_PACKET=y CONFIG_UNIX=y diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index e688dfad0b72..000a2e0d01ea 100644 +index 0b30e884e088..f6a3c12e4685 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -911,6 +911,8 @@ config SCHED_SMT +@@ -938,6 +938,8 @@ config SCHED_SMT MultiThreading at a cost of slightly increased overhead in some places. If unsure say N here. @@ -1111,11 +1113,567 @@ index 2c7adea7638f..1c82d62bee72 100644 CONFIG_BSD_PROCESS_ACCT=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y +diff --git a/arch/parisc/configs/712_defconfig b/arch/parisc/configs/712_defconfig +new file mode 100644 +index 000000000000..578524f80cc4 +--- /dev/null ++++ b/arch/parisc/configs/712_defconfig +@@ -0,0 +1,181 @@ ++# CONFIG_LOCALVERSION_AUTO is not set ++CONFIG_SYSVIPC=y ++CONFIG_POSIX_MQUEUE=y ++CONFIG_IKCONFIG=y ++CONFIG_IKCONFIG_PROC=y ++CONFIG_LOG_BUF_SHIFT=16 ++CONFIG_BLK_DEV_INITRD=y ++CONFIG_KALLSYMS_ALL=y ++CONFIG_SLAB=y ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++CONFIG_MODULES=y ++CONFIG_MODULE_UNLOAD=y ++CONFIG_MODULE_FORCE_UNLOAD=y ++CONFIG_PA7100LC=y ++CONFIG_PREEMPT=y ++CONFIG_GSC_LASI=y ++# CONFIG_PDC_CHASSIS is not set ++CONFIG_BINFMT_MISC=m ++CONFIG_NET=y ++CONFIG_PACKET=y ++CONFIG_UNIX=y ++CONFIG_XFRM_USER=m ++CONFIG_NET_KEY=m ++CONFIG_INET=y ++CONFIG_IP_MULTICAST=y ++CONFIG_IP_PNP=y ++CONFIG_IP_PNP_DHCP=y ++CONFIG_IP_PNP_BOOTP=y ++CONFIG_INET_AH=m ++CONFIG_INET_ESP=m ++CONFIG_INET_DIAG=m ++# CONFIG_IPV6 is not set ++CONFIG_NETFILTER=y ++CONFIG_LLC2=m ++CONFIG_NET_PKTGEN=m ++CONFIG_DEVTMPFS=y ++CONFIG_DEVTMPFS_MOUNT=y ++# CONFIG_STANDALONE is not set ++# CONFIG_PREVENT_FIRMWARE_BUILD is not set ++CONFIG_PARPORT=y ++CONFIG_PARPORT_PC=m ++CONFIG_BLK_DEV_LOOP=y ++CONFIG_BLK_DEV_CRYPTOLOOP=y ++CONFIG_BLK_DEV_RAM=y ++CONFIG_BLK_DEV_RAM_SIZE=6144 ++CONFIG_ATA_OVER_ETH=m ++CONFIG_SCSI=y ++CONFIG_BLK_DEV_SD=y ++CONFIG_CHR_DEV_ST=y ++CONFIG_BLK_DEV_SR=y ++CONFIG_CHR_DEV_SG=y ++CONFIG_SCSI_ISCSI_ATTRS=m ++CONFIG_SCSI_LASI700=y ++CONFIG_SCSI_DEBUG=m ++CONFIG_MD=y ++CONFIG_BLK_DEV_MD=m ++CONFIG_MD_LINEAR=m ++CONFIG_MD_RAID0=m ++CONFIG_MD_RAID1=m ++CONFIG_NETDEVICES=y ++CONFIG_BONDING=m ++CONFIG_DUMMY=m ++CONFIG_TUN=m ++CONFIG_LASI_82596=y ++CONFIG_PPP=m ++CONFIG_PPP_BSDCOMP=m ++CONFIG_PPP_DEFLATE=m ++CONFIG_PPP_MPPE=m ++CONFIG_PPPOE=m ++CONFIG_PPP_ASYNC=m ++CONFIG_PPP_SYNC_TTY=m ++# CONFIG_KEYBOARD_HIL_OLD is not set ++CONFIG_MOUSE_SERIAL=m ++CONFIG_LEGACY_PTY_COUNT=64 ++CONFIG_SERIAL_8250=y ++CONFIG_SERIAL_8250_CONSOLE=y ++CONFIG_SERIAL_8250_NR_UARTS=17 ++CONFIG_SERIAL_8250_EXTENDED=y ++CONFIG_SERIAL_8250_MANY_PORTS=y ++CONFIG_SERIAL_8250_SHARE_IRQ=y ++# CONFIG_SERIAL_MUX is not set ++CONFIG_PDC_CONSOLE=y ++CONFIG_PRINTER=m ++CONFIG_PPDEV=m ++# CONFIG_HW_RANDOM is not set ++CONFIG_RAW_DRIVER=y ++# CONFIG_HWMON is not set ++CONFIG_FB=y ++CONFIG_FB_MODE_HELPERS=y ++CONFIG_FB_TILEBLITTING=y ++CONFIG_DUMMY_CONSOLE_COLUMNS=128 ++CONFIG_DUMMY_CONSOLE_ROWS=48 ++CONFIG_FRAMEBUFFER_CONSOLE=y ++CONFIG_LOGO=y ++# CONFIG_LOGO_LINUX_MONO is not set ++# CONFIG_LOGO_LINUX_VGA16 is not set ++# CONFIG_LOGO_LINUX_CLUT224 is not set ++CONFIG_SOUND=y ++CONFIG_SND=y ++CONFIG_SND_SEQUENCER=y ++CONFIG_SND_HARMONY=y ++CONFIG_EXT2_FS=y ++CONFIG_EXT3_FS=y ++CONFIG_JFS_FS=m ++CONFIG_XFS_FS=m ++CONFIG_AUTOFS4_FS=y ++CONFIG_ISO9660_FS=y ++CONFIG_JOLIET=y ++CONFIG_UDF_FS=m ++CONFIG_MSDOS_FS=m ++CONFIG_VFAT_FS=m ++CONFIG_PROC_KCORE=y ++CONFIG_TMPFS=y ++CONFIG_UFS_FS=m ++CONFIG_NFS_FS=y ++CONFIG_NFS_V4=y ++CONFIG_ROOT_NFS=y ++CONFIG_NFSD=m ++CONFIG_NFSD_V4=y ++CONFIG_CIFS=m ++CONFIG_NLS_CODEPAGE_437=m ++CONFIG_NLS_CODEPAGE_737=m ++CONFIG_NLS_CODEPAGE_775=m ++CONFIG_NLS_CODEPAGE_850=m ++CONFIG_NLS_CODEPAGE_852=m ++CONFIG_NLS_CODEPAGE_855=m ++CONFIG_NLS_CODEPAGE_857=m ++CONFIG_NLS_CODEPAGE_860=m ++CONFIG_NLS_CODEPAGE_861=m ++CONFIG_NLS_CODEPAGE_862=m ++CONFIG_NLS_CODEPAGE_863=m ++CONFIG_NLS_CODEPAGE_864=m ++CONFIG_NLS_CODEPAGE_865=m ++CONFIG_NLS_CODEPAGE_866=m ++CONFIG_NLS_CODEPAGE_869=m ++CONFIG_NLS_CODEPAGE_936=m ++CONFIG_NLS_CODEPAGE_950=m ++CONFIG_NLS_CODEPAGE_932=m ++CONFIG_NLS_CODEPAGE_949=m ++CONFIG_NLS_CODEPAGE_874=m ++CONFIG_NLS_ISO8859_8=m ++CONFIG_NLS_CODEPAGE_1250=m ++CONFIG_NLS_CODEPAGE_1251=m ++CONFIG_NLS_ASCII=m ++CONFIG_NLS_ISO8859_1=m ++CONFIG_NLS_ISO8859_2=m ++CONFIG_NLS_ISO8859_3=m ++CONFIG_NLS_ISO8859_4=m ++CONFIG_NLS_ISO8859_5=m ++CONFIG_NLS_ISO8859_6=m ++CONFIG_NLS_ISO8859_7=m ++CONFIG_NLS_ISO8859_9=m ++CONFIG_NLS_ISO8859_13=m ++CONFIG_NLS_ISO8859_14=m ++CONFIG_NLS_ISO8859_15=m ++CONFIG_NLS_KOI8_R=m ++CONFIG_NLS_KOI8_U=m ++CONFIG_NLS_UTF8=m ++CONFIG_DEBUG_FS=y ++CONFIG_MAGIC_SYSRQ=y ++CONFIG_DEBUG_KERNEL=y ++CONFIG_DEBUG_MUTEXES=y ++CONFIG_CRYPTO_TEST=m ++CONFIG_CRYPTO_HMAC=y ++CONFIG_CRYPTO_MICHAEL_MIC=m ++CONFIG_CRYPTO_SHA512=m ++CONFIG_CRYPTO_TGR192=m ++CONFIG_CRYPTO_WP512=m ++CONFIG_CRYPTO_ANUBIS=m ++CONFIG_CRYPTO_BLOWFISH=m ++CONFIG_CRYPTO_CAST6=m ++CONFIG_CRYPTO_KHAZAD=m ++CONFIG_CRYPTO_SERPENT=m ++CONFIG_CRYPTO_TEA=m ++CONFIG_CRYPTO_TWOFISH=m ++CONFIG_CRYPTO_DEFLATE=m ++# CONFIG_CRYPTO_HW is not set ++CONFIG_FONTS=y ++CONFIG_FONT_8x8=y ++CONFIG_FONT_8x16=y +diff --git a/arch/parisc/configs/c3000_defconfig b/arch/parisc/configs/c3000_defconfig +new file mode 100644 +index 000000000000..d1bdfad94048 +--- /dev/null ++++ b/arch/parisc/configs/c3000_defconfig +@@ -0,0 +1,151 @@ ++# CONFIG_LOCALVERSION_AUTO is not set ++CONFIG_SYSVIPC=y ++CONFIG_IKCONFIG=y ++CONFIG_IKCONFIG_PROC=y ++CONFIG_LOG_BUF_SHIFT=16 ++CONFIG_BLK_DEV_INITRD=y ++CONFIG_EXPERT=y ++CONFIG_KALLSYMS_ALL=y ++CONFIG_SLAB=y ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++CONFIG_MODULES=y ++CONFIG_MODULE_UNLOAD=y ++CONFIG_MODULE_FORCE_UNLOAD=y ++CONFIG_PA8X00=y ++CONFIG_PREEMPT=y ++# CONFIG_GSC is not set ++CONFIG_PCI=y ++CONFIG_PCI_LBA=y ++# CONFIG_PDC_CHASSIS is not set ++CONFIG_NET=y ++CONFIG_PACKET=y ++CONFIG_UNIX=y ++CONFIG_XFRM_USER=m ++CONFIG_NET_KEY=m ++CONFIG_INET=y ++CONFIG_IP_MULTICAST=y ++CONFIG_IP_PNP=y ++CONFIG_IP_PNP_BOOTP=y ++# CONFIG_INET_DIAG is not set ++CONFIG_INET6_IPCOMP=m ++CONFIG_IPV6_TUNNEL=m ++CONFIG_NETFILTER=y ++CONFIG_NET_PKTGEN=m ++CONFIG_DEVTMPFS=y ++CONFIG_DEVTMPFS_MOUNT=y ++# CONFIG_STANDALONE is not set ++# CONFIG_PREVENT_FIRMWARE_BUILD is not set ++CONFIG_BLK_DEV_UMEM=m ++CONFIG_BLK_DEV_LOOP=y ++CONFIG_BLK_DEV_CRYPTOLOOP=m ++CONFIG_IDE=y ++CONFIG_BLK_DEV_IDECD=y ++CONFIG_BLK_DEV_NS87415=y ++CONFIG_SCSI=y ++CONFIG_BLK_DEV_SD=y ++CONFIG_CHR_DEV_ST=y ++CONFIG_BLK_DEV_SR=y ++CONFIG_CHR_DEV_SG=y ++CONFIG_SCSI_ISCSI_ATTRS=m ++CONFIG_SCSI_SYM53C8XX_2=y ++CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 ++CONFIG_SCSI_DEBUG=m ++CONFIG_MD=y ++CONFIG_BLK_DEV_MD=y ++CONFIG_MD_LINEAR=y ++CONFIG_MD_RAID0=y ++CONFIG_MD_RAID1=y ++CONFIG_BLK_DEV_DM=m ++CONFIG_DM_CRYPT=m ++CONFIG_DM_SNAPSHOT=m ++CONFIG_DM_MIRROR=m ++CONFIG_DM_ZERO=m ++CONFIG_DM_MULTIPATH=m ++CONFIG_FUSION=y ++CONFIG_FUSION_SPI=m ++CONFIG_FUSION_CTL=m ++CONFIG_NETDEVICES=y ++CONFIG_BONDING=m ++CONFIG_DUMMY=m ++CONFIG_TUN=m ++CONFIG_ACENIC=m ++CONFIG_TIGON3=m ++CONFIG_NET_TULIP=y ++CONFIG_DE2104X=m ++CONFIG_TULIP=y ++CONFIG_TULIP_MMIO=y ++CONFIG_E100=m ++CONFIG_E1000=m ++CONFIG_PPP=m ++CONFIG_PPP_BSDCOMP=m ++CONFIG_PPP_DEFLATE=m ++CONFIG_PPPOE=m ++CONFIG_PPP_ASYNC=m ++CONFIG_PPP_SYNC_TTY=m ++# CONFIG_KEYBOARD_ATKBD is not set ++# CONFIG_MOUSE_PS2 is not set ++CONFIG_SERIO=m ++CONFIG_SERIO_LIBPS2=m ++CONFIG_SERIAL_8250=y ++CONFIG_SERIAL_8250_CONSOLE=y ++CONFIG_SERIAL_8250_NR_UARTS=13 ++CONFIG_SERIAL_8250_EXTENDED=y ++CONFIG_SERIAL_8250_MANY_PORTS=y ++CONFIG_SERIAL_8250_SHARE_IRQ=y ++# CONFIG_HW_RANDOM is not set ++CONFIG_RAW_DRIVER=y ++# CONFIG_HWMON is not set ++CONFIG_FB=y ++CONFIG_FRAMEBUFFER_CONSOLE=y ++CONFIG_LOGO=y ++# CONFIG_LOGO_LINUX_MONO is not set ++# CONFIG_LOGO_LINUX_VGA16 is not set ++# CONFIG_LOGO_LINUX_CLUT224 is not set ++CONFIG_SOUND=y ++CONFIG_SND=y ++CONFIG_SND_SEQUENCER=y ++CONFIG_SND_AD1889=y ++CONFIG_USB_HIDDEV=y ++CONFIG_USB=y ++CONFIG_USB_OHCI_HCD=y ++CONFIG_USB_PRINTER=m ++CONFIG_USB_STORAGE=m ++CONFIG_USB_STORAGE_USBAT=m ++CONFIG_USB_STORAGE_SDDR09=m ++CONFIG_USB_STORAGE_SDDR55=m ++CONFIG_USB_STORAGE_JUMPSHOT=m ++CONFIG_USB_MDC800=m ++CONFIG_USB_MICROTEK=m ++CONFIG_USB_LEGOTOWER=m ++CONFIG_EXT2_FS=y ++CONFIG_EXT3_FS=y ++CONFIG_XFS_FS=m ++CONFIG_AUTOFS4_FS=y ++CONFIG_ISO9660_FS=y ++CONFIG_JOLIET=y ++CONFIG_MSDOS_FS=m ++CONFIG_VFAT_FS=m ++CONFIG_PROC_KCORE=y ++CONFIG_TMPFS=y ++CONFIG_NFS_FS=y ++CONFIG_ROOT_NFS=y ++CONFIG_NFSD=y ++CONFIG_NFSD_V3=y ++CONFIG_NLS_CODEPAGE_437=m ++CONFIG_NLS_CODEPAGE_850=m ++CONFIG_NLS_ASCII=m ++CONFIG_NLS_ISO8859_1=m ++CONFIG_NLS_ISO8859_15=m ++CONFIG_NLS_UTF8=m ++CONFIG_DEBUG_FS=y ++CONFIG_HEADERS_INSTALL=y ++CONFIG_HEADERS_CHECK=y ++CONFIG_MAGIC_SYSRQ=y ++CONFIG_DEBUG_MUTEXES=y ++# CONFIG_DEBUG_BUGVERBOSE is not set ++CONFIG_CRYPTO_TEST=m ++CONFIG_CRYPTO_MD5=m ++CONFIG_CRYPTO_BLOWFISH=m ++CONFIG_CRYPTO_DES=m ++# CONFIG_CRYPTO_HW is not set +diff --git a/arch/parisc/configs/defconfig b/arch/parisc/configs/defconfig +new file mode 100644 +index 000000000000..0d976614934c +--- /dev/null ++++ b/arch/parisc/configs/defconfig +@@ -0,0 +1,206 @@ ++# CONFIG_LOCALVERSION_AUTO is not set ++CONFIG_SYSVIPC=y ++CONFIG_POSIX_MQUEUE=y ++CONFIG_IKCONFIG=y ++CONFIG_IKCONFIG_PROC=y ++CONFIG_LOG_BUF_SHIFT=16 ++CONFIG_BLK_DEV_INITRD=y ++CONFIG_KALLSYMS_ALL=y ++CONFIG_SLAB=y ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++CONFIG_MODULES=y ++CONFIG_MODULE_UNLOAD=y ++CONFIG_MODULE_FORCE_UNLOAD=y ++# CONFIG_BLK_DEV_BSG is not set ++CONFIG_PA7100LC=y ++CONFIG_PREEMPT=y ++CONFIG_IOMMU_CCIO=y ++CONFIG_GSC_LASI=y ++CONFIG_GSC_WAX=y ++CONFIG_EISA=y ++CONFIG_PCI=y ++CONFIG_GSC_DINO=y ++CONFIG_PCI_LBA=y ++CONFIG_PCCARD=y ++CONFIG_YENTA=y ++CONFIG_PD6729=y ++CONFIG_I82092=y ++CONFIG_BINFMT_MISC=m ++CONFIG_NET=y ++CONFIG_PACKET=y ++CONFIG_UNIX=y ++CONFIG_XFRM_USER=m ++CONFIG_NET_KEY=m ++CONFIG_INET=y ++CONFIG_IP_MULTICAST=y ++CONFIG_IP_PNP=y ++CONFIG_IP_PNP_DHCP=y ++CONFIG_IP_PNP_BOOTP=y ++CONFIG_INET_AH=m ++CONFIG_INET_ESP=m ++CONFIG_INET_DIAG=m ++CONFIG_INET6_AH=y ++CONFIG_INET6_ESP=y ++CONFIG_INET6_IPCOMP=y ++CONFIG_LLC2=m ++CONFIG_DEVTMPFS=y ++CONFIG_DEVTMPFS_MOUNT=y ++# CONFIG_STANDALONE is not set ++# CONFIG_PREVENT_FIRMWARE_BUILD is not set ++CONFIG_PARPORT=y ++CONFIG_PARPORT_PC=m ++CONFIG_PARPORT_PC_PCMCIA=m ++CONFIG_PARPORT_1284=y ++CONFIG_BLK_DEV_LOOP=y ++CONFIG_BLK_DEV_CRYPTOLOOP=y ++CONFIG_BLK_DEV_RAM=y ++CONFIG_BLK_DEV_RAM_SIZE=6144 ++CONFIG_IDE=y ++CONFIG_BLK_DEV_IDECS=y ++CONFIG_BLK_DEV_IDECD=y ++CONFIG_BLK_DEV_GENERIC=y ++CONFIG_BLK_DEV_NS87415=y ++CONFIG_SCSI=y ++CONFIG_BLK_DEV_SD=y ++CONFIG_CHR_DEV_ST=y ++CONFIG_BLK_DEV_SR=y ++CONFIG_CHR_DEV_SG=y ++CONFIG_SCSI_LASI700=y ++CONFIG_SCSI_SYM53C8XX_2=y ++CONFIG_SCSI_ZALON=y ++CONFIG_MD=y ++CONFIG_BLK_DEV_MD=y ++CONFIG_MD_LINEAR=y ++CONFIG_MD_RAID0=y ++CONFIG_MD_RAID1=y ++CONFIG_MD_RAID10=y ++CONFIG_BLK_DEV_DM=y ++CONFIG_NETDEVICES=y ++CONFIG_BONDING=m ++CONFIG_DUMMY=m ++CONFIG_TUN=m ++CONFIG_ACENIC=y ++CONFIG_TIGON3=y ++CONFIG_NET_TULIP=y ++CONFIG_TULIP=y ++CONFIG_LASI_82596=y ++CONFIG_PPP=m ++CONFIG_PPP_BSDCOMP=m ++CONFIG_PPP_DEFLATE=m ++CONFIG_PPPOE=m ++CONFIG_PPP_ASYNC=m ++CONFIG_PPP_SYNC_TTY=m ++# CONFIG_KEYBOARD_HIL_OLD is not set ++CONFIG_MOUSE_SERIAL=y ++CONFIG_LEGACY_PTY_COUNT=64 ++CONFIG_SERIAL_8250=y ++CONFIG_SERIAL_8250_CONSOLE=y ++CONFIG_SERIAL_8250_CS=y ++CONFIG_SERIAL_8250_NR_UARTS=17 ++CONFIG_SERIAL_8250_EXTENDED=y ++CONFIG_SERIAL_8250_MANY_PORTS=y ++CONFIG_SERIAL_8250_SHARE_IRQ=y ++CONFIG_PRINTER=m ++CONFIG_PPDEV=m ++# CONFIG_HW_RANDOM is not set ++# CONFIG_HWMON is not set ++CONFIG_FB=y ++CONFIG_FB_MODE_HELPERS=y ++CONFIG_FB_TILEBLITTING=y ++CONFIG_DUMMY_CONSOLE_COLUMNS=128 ++CONFIG_DUMMY_CONSOLE_ROWS=48 ++CONFIG_FRAMEBUFFER_CONSOLE=y ++CONFIG_LOGO=y ++# CONFIG_LOGO_LINUX_MONO is not set ++# CONFIG_LOGO_LINUX_VGA16 is not set ++# CONFIG_LOGO_LINUX_CLUT224 is not set ++CONFIG_SOUND=y ++CONFIG_SND=y ++CONFIG_SND_DYNAMIC_MINORS=y ++CONFIG_SND_SEQUENCER=y ++CONFIG_SND_AD1889=y ++CONFIG_SND_HARMONY=y ++CONFIG_HID_GYRATION=y ++CONFIG_HID_NTRIG=y ++CONFIG_HID_PANTHERLORD=y ++CONFIG_HID_PETALYNX=y ++CONFIG_HID_SAMSUNG=y ++CONFIG_HID_SUNPLUS=y ++CONFIG_HID_TOPSEED=y ++CONFIG_USB=y ++CONFIG_USB_MON=y ++CONFIG_USB_OHCI_HCD=y ++CONFIG_USB_UHCI_HCD=y ++CONFIG_EXT2_FS=y ++CONFIG_EXT3_FS=y ++CONFIG_ISO9660_FS=y ++CONFIG_JOLIET=y ++CONFIG_VFAT_FS=y ++CONFIG_PROC_KCORE=y ++CONFIG_TMPFS=y ++CONFIG_NFS_FS=y ++CONFIG_ROOT_NFS=y ++CONFIG_NFSD=y ++CONFIG_NFSD_V4=y ++CONFIG_CIFS=m ++CONFIG_NLS_CODEPAGE_437=y ++CONFIG_NLS_CODEPAGE_737=m ++CONFIG_NLS_CODEPAGE_775=m ++CONFIG_NLS_CODEPAGE_850=m ++CONFIG_NLS_CODEPAGE_852=m ++CONFIG_NLS_CODEPAGE_855=m ++CONFIG_NLS_CODEPAGE_857=m ++CONFIG_NLS_CODEPAGE_860=m ++CONFIG_NLS_CODEPAGE_861=m ++CONFIG_NLS_CODEPAGE_862=m ++CONFIG_NLS_CODEPAGE_863=m ++CONFIG_NLS_CODEPAGE_864=m ++CONFIG_NLS_CODEPAGE_865=m ++CONFIG_NLS_CODEPAGE_866=m ++CONFIG_NLS_CODEPAGE_869=m ++CONFIG_NLS_CODEPAGE_936=m ++CONFIG_NLS_CODEPAGE_950=m ++CONFIG_NLS_CODEPAGE_932=m ++CONFIG_NLS_CODEPAGE_949=m ++CONFIG_NLS_CODEPAGE_874=m ++CONFIG_NLS_ISO8859_8=m ++CONFIG_NLS_CODEPAGE_1250=y ++CONFIG_NLS_CODEPAGE_1251=m ++CONFIG_NLS_ASCII=m ++CONFIG_NLS_ISO8859_1=y ++CONFIG_NLS_ISO8859_2=m ++CONFIG_NLS_ISO8859_3=m ++CONFIG_NLS_ISO8859_4=m ++CONFIG_NLS_ISO8859_5=m ++CONFIG_NLS_ISO8859_6=m ++CONFIG_NLS_ISO8859_7=m ++CONFIG_NLS_ISO8859_9=m ++CONFIG_NLS_ISO8859_13=m ++CONFIG_NLS_ISO8859_14=m ++CONFIG_NLS_ISO8859_15=m ++CONFIG_NLS_KOI8_R=m ++CONFIG_NLS_KOI8_U=m ++CONFIG_NLS_UTF8=y ++CONFIG_DEBUG_FS=y ++CONFIG_HEADERS_INSTALL=y ++CONFIG_HEADERS_CHECK=y ++CONFIG_MAGIC_SYSRQ=y ++CONFIG_DEBUG_KERNEL=y ++CONFIG_DEBUG_MUTEXES=y ++CONFIG_KEYS=y ++CONFIG_CRYPTO_TEST=m ++CONFIG_CRYPTO_MICHAEL_MIC=m ++CONFIG_CRYPTO_SHA512=m ++CONFIG_CRYPTO_TGR192=m ++CONFIG_CRYPTO_WP512=m ++CONFIG_CRYPTO_ANUBIS=m ++CONFIG_CRYPTO_BLOWFISH=m ++CONFIG_CRYPTO_CAST6=m ++CONFIG_CRYPTO_KHAZAD=m ++CONFIG_CRYPTO_SERPENT=m ++CONFIG_CRYPTO_TEA=m ++CONFIG_CRYPTO_TWOFISH=m ++# CONFIG_CRYPTO_HW is not set ++CONFIG_LIBCRC32C=m ++CONFIG_FONTS=y diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig -index e2a412113359..a8fa2e3c05a6 100644 +index 497b7d0b2d7e..0e9eebad2c9b 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig -@@ -878,6 +878,8 @@ config SCHED_SMT +@@ -875,6 +875,8 @@ config SCHED_SMT when dealing with POWER5 cpus at a cost of slightly increased overhead in some places. If unsure say N here. @@ -1125,7 +1683,7 @@ index e2a412113359..a8fa2e3c05a6 100644 bool "PowerPC denormalisation exception handling" depends on PPC_BOOK3S_64 diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig -index 7e28919041cf..b22d0a7c2751 100644 +index 3e2f44f38ac5..8a537153b314 100644 --- a/arch/powerpc/configs/ppc6xx_defconfig +++ b/arch/powerpc/configs/ppc6xx_defconfig @@ -74,7 +74,7 @@ CONFIG_QE_GPIO=y @@ -1206,10 +1764,10 @@ index 6c325d53a20a..98d4ef3d76cf 100644 CONFIG_PCI=y CONFIG_PCI_MSI=y diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 5e8949953660..4f6afc56ff5f 100644 +index beea77046f9b..ec29e71eff11 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1004,6 +1004,22 @@ config NR_CPUS +@@ -1008,6 +1008,22 @@ config NR_CPUS config SCHED_SMT def_bool y if SMP @@ -1232,16 +1790,16 @@ index 5e8949953660..4f6afc56ff5f 100644 config SCHED_MC def_bool y prompt "Multi-core scheduler support" -@@ -1034,6 +1050,8 @@ config SCHED_MC_PRIO +@@ -1038,6 +1054,8 @@ config SCHED_MC_PRIO If unsure say Y here. +source "kernel/Kconfig.MuQSS" + config UP_LATE_INIT - def_bool y - depends on !SMP && X86_LOCAL_APIC -@@ -1421,7 +1439,7 @@ config HIGHMEM64G + def_bool y + depends on !SMP && X86_LOCAL_APIC +@@ -1425,7 +1443,7 @@ config HIGHMEM64G endchoice choice @@ -1250,7 +1808,7 @@ index 5e8949953660..4f6afc56ff5f 100644 default VMSPLIT_3G depends on X86_32 ---help--- -@@ -1441,17 +1459,17 @@ choice +@@ -1445,17 +1463,17 @@ choice option alone! config VMSPLIT_3G @@ -1344,10 +1902,10 @@ index cad9563f8f48..d7f93c85c2cb 100644 /* No need for locks, the interface is down. */ diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c -index 22c6a2e61236..c4bccd444cbf 100644 +index 8ac390c2b514..cbb7e4a15a4e 100644 --- a/drivers/char/ipmi/ipmi_ssif.c +++ b/drivers/char/ipmi/ipmi_ssif.c -@@ -1289,7 +1289,7 @@ static void shutdown_ssif(void *send_info) +@@ -1293,7 +1293,7 @@ static void shutdown_ssif(void *send_info) /* make sure the driver is not looking for flags any more. */ while (ssif_info->ssif_state != SSIF_NORMAL) @@ -1597,10 +2155,10 @@ index d2539c95adb6..0c2f31a03ce9 100644 return err; diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c -index c2a58f05b9a1..6ef94ef9b18e 100644 +index eccbf4cd7149..03d285f022b0 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c -@@ -2678,7 +2678,7 @@ static void lan78xx_terminate_urbs(struct lan78xx_net *dev) +@@ -2670,7 +2670,7 @@ static void lan78xx_terminate_urbs(struct lan78xx_net *dev) while (!skb_queue_empty(&dev->rxq) && !skb_queue_empty(&dev->txq) && !skb_queue_empty(&dev->done)) { @@ -1610,7 +2168,7 @@ index c2a58f05b9a1..6ef94ef9b18e 100644 netif_dbg(dev, ifdown, dev->net, "waited for %d urb completions\n", temp); diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c -index 9ce6d30576dd..e53d42786ac9 100644 +index 5ec97def3513..9e2bf55bbccd 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -767,7 +767,7 @@ static void wait_skb_queue_empty(struct sk_buff_head *q) @@ -1623,7 +2181,7 @@ index 9ce6d30576dd..e53d42786ac9 100644 spin_lock_irqsave(&q->lock, flags); } diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c -index c4c83ab60cbc..2be961a750b8 100644 +index 536cd729c086..580ec6e604ce 100644 --- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c @@ -816,7 +816,7 @@ static int ipw2100_hw_send_command(struct ipw2100_priv *priv, @@ -1764,7 +2322,7 @@ index b60795893994..d2d05691dbd2 100644 /* walk again to check, if IOs are still pending in fw */ if (fnic_is_abts_pending(fnic, lr_sc)) diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c -index b138d9fee675..63cacc21aa58 100644 +index 2c7e0b22db2f..d51fd2fd02a9 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c @@ -5181,7 +5181,7 @@ lpfc_reset_flush_io_context(struct lpfc_vport *vport, uint16_t tgt_id, @@ -1803,7 +2361,7 @@ index f98e3ae27bff..0741c8352a6d 100644 } if (i == timeout) { diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c -index cb95ad6fa4f9..d352058e0336 100644 +index be0053c795b7..cc2e18c733e1 100644 --- a/drivers/staging/rts5208/rtsx.c +++ b/drivers/staging/rts5208/rtsx.c @@ -490,7 +490,7 @@ static int rtsx_polling_thread(void *__dev) @@ -1967,7 +2525,7 @@ index 3568bfb89912..0a80b3b098b2 100644 } set_current_state(TASK_RUNNING); diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c -index 1d1440d43002..52fe89ae1d9d 100644 +index 0433536930a9..d8726f28843f 100644 --- a/drivers/staging/unisys/visornic/visornic_main.c +++ b/drivers/staging/unisys/visornic/visornic_main.c @@ -549,7 +549,7 @@ static int visornic_disable_with_timeout(struct net_device *netdev, @@ -2011,7 +2569,7 @@ index cfe63932f825..71c00ef772a3 100644 hwa742_set_update_mode(hwa742.update_mode_before_suspend); } diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c -index f70c9f79622e..0b363eaee24f 100644 +index 00b96a78676e..37fc1c2d4cb9 100644 --- a/drivers/video/fbdev/pxafb.c +++ b/drivers/video/fbdev/pxafb.c @@ -1287,7 +1287,7 @@ static int pxafb_smart_thread(void *arg) @@ -2024,7 +2582,7 @@ index f70c9f79622e..0b363eaee24f 100644 pr_debug("%s(): task ending\n", __func__); diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c -index 37345fb6191d..3874c17d1bc5 100644 +index d5c9c69d8263..a7b30c181751 100644 --- a/fs/btrfs/inode-map.c +++ b/fs/btrfs/inode-map.c @@ -91,7 +91,7 @@ static int caching_kthread(void *data) @@ -2037,10 +2595,10 @@ index 37345fb6191d..3874c17d1bc5 100644 } else continue; diff --git a/fs/proc/base.c b/fs/proc/base.c -index ebea9501afb8..51c9346a69fe 100644 +index c7c64272b0fa..3994241745ae 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c -@@ -477,7 +477,7 @@ static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns, +@@ -479,7 +479,7 @@ static int proc_pid_schedstat(struct seq_file *m, struct pid_namespace *ns, seq_puts(m, "0 0 0\n"); else seq_printf(m, "%llu %llu %lu\n", @@ -2091,7 +2649,7 @@ index e9bfe6972aed..16ba1c7e5bde 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index 716ad1d8d95e..f5fe682bed8a 100644 +index 04278493bf15..ad34cad30afa 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -31,6 +31,9 @@ @@ -2260,7 +2818,7 @@ index 1aff00b65f3c..73d6319a856a 100644 #endif /* CONFIG_SMP */ diff --git a/include/linux/sched/nohz.h b/include/linux/sched/nohz.h -index 1abe91ff6e4a..20ba383562b0 100644 +index 6d67e9a5af6b..101fe470aa8f 100644 --- a/include/linux/sched/nohz.h +++ b/include/linux/sched/nohz.h @@ -13,7 +13,7 @@ extern int get_nohz_timer_target(void); @@ -2270,8 +2828,8 @@ index 1abe91ff6e4a..20ba383562b0 100644 -#ifdef CONFIG_NO_HZ_COMMON +#if defined(CONFIG_NO_HZ_COMMON) && !defined(CONFIG_SCHED_MUQSS) void calc_load_nohz_start(void); + void calc_load_nohz_remote(struct rq *rq); void calc_load_nohz_stop(void); - #else diff --git a/include/linux/sched/prio.h b/include/linux/sched/prio.h index 7d64feafc408..43c9d9e50c09 100644 --- a/include/linux/sched/prio.h @@ -2365,10 +2923,10 @@ index 000000000000..d4be84ba273b +} +#endif /* _LINUX_SKIP_LISTS_H */ diff --git a/include/uapi/linux/sched.h b/include/uapi/linux/sched.h -index 4a0217832464..2a7f7f3695f7 100644 +index 2e3bc22c6f20..120e2a02c587 100644 --- a/include/uapi/linux/sched.h +++ b/include/uapi/linux/sched.h -@@ -104,9 +104,16 @@ struct clone_args { +@@ -110,9 +110,16 @@ struct clone_args { #define SCHED_FIFO 1 #define SCHED_RR 2 #define SCHED_BATCH 3 @@ -2387,10 +2945,10 @@ index 4a0217832464..2a7f7f3695f7 100644 /* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */ #define SCHED_RESET_ON_FORK 0x40000000 diff --git a/init/Kconfig b/init/Kconfig -index a34064a031a5..dad51df6237f 100644 +index 4f717bfdbfe2..517033ecf7f4 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -73,6 +73,18 @@ config THREAD_INFO_IN_TASK +@@ -74,6 +74,18 @@ config THREAD_INFO_IN_TASK menu "General setup" @@ -2441,7 +2999,7 @@ index a34064a031a5..dad51df6237f 100644 help Provides a simple controller for monitoring the total CPU consumed by the tasks in a cgroup. -@@ -1134,6 +1152,7 @@ config CHECKPOINT_RESTORE +@@ -1142,6 +1160,7 @@ config CHECKPOINT_RESTORE config SCHED_AUTOGROUP bool "Automatic process group scheduling" @@ -2488,10 +3046,10 @@ index 9e5cbe5eab7b..5c2bcbf25add 100644 #ifdef CONFIG_SMP .pushable_tasks = PLIST_NODE_INIT(init_task.pushable_tasks, MAX_PRIO), diff --git a/init/main.c b/init/main.c -index da1bc0b60a7d..2b323af46d7c 100644 +index ee4947af823f..1f5a5938fe46 100644 --- a/init/main.c +++ b/init/main.c -@@ -1125,6 +1125,8 @@ static int __ref kernel_init(void *unused) +@@ -1367,6 +1367,8 @@ static int __ref kernel_init(void *unused) rcu_end_inkernel_boot(); @@ -2712,7 +3270,7 @@ index bf82259cff96..d9438eb6f91c 100644 config PREEMPT bool "Preemptible Kernel (Low-Latency Desktop)" diff --git a/kernel/Makefile b/kernel/Makefile -index f2cc0d118a0b..7c18c3eddd9b 100644 +index 4cb4130ced32..b11afae9eea8 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -10,7 +10,7 @@ obj-y = fork.o exec_domain.o panic.o \ @@ -2738,7 +3296,7 @@ index 27725754ac99..769d773c7182 100644 d->cpu_count += t1; diff --git a/kernel/exit.c b/kernel/exit.c -index 2833ffb0c211..37a1f8d73eee 100644 +index 0b81b26a872a..0832436d88a0 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -131,7 +131,7 @@ static void __exit_signal(struct task_struct *tsk) @@ -2788,10 +3346,10 @@ index f92d9a687372..d17db0ff775f 100644 bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ ---help--- diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 1753486b440c..f43423737493 100644 +index fe40c658f86f..37d9faf1f1ce 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -24,9 +24,20 @@ +@@ -25,9 +25,20 @@ #include "internals.h" #if defined(CONFIG_IRQ_FORCED_THREADING) && !defined(CONFIG_PREEMPT_RT) @@ -2922,10 +3480,10 @@ index 21fb5a5662b5..a04ffebc6b7a 100644 obj-$(CONFIG_MEMBARRIER) += membarrier.o diff --git a/kernel/sched/MuQSS.c b/kernel/sched/MuQSS.c new file mode 100644 -index 000000000000..b8b35546c416 +index 000000000000..25d06f15e4e6 --- /dev/null +++ b/kernel/sched/MuQSS.c -@@ -0,0 +1,7607 @@ +@@ -0,0 +1,7604 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * kernel/sched/MuQSS.c, was kernel/sched.c @@ -3041,7 +3599,7 @@ index 000000000000..b8b35546c416 + +void print_scheduler_version(void) +{ -+ printk(KERN_INFO "MuQSS CPU scheduler v0.198 by Con Kolivas.\n"); ++ printk(KERN_INFO "MuQSS CPU scheduler v0.199 by Con Kolivas.\n"); +} + +/* Define RQ share levels */ @@ -4507,17 +5065,6 @@ index 000000000000..b8b35546c416 + +#ifdef CONFIG_SMP + -+static inline bool is_per_cpu_kthread(struct task_struct *p) -+{ -+ if (!(p->flags & PF_KTHREAD)) -+ return false; -+ -+ if (p->nr_cpus_allowed != 1) -+ return false; -+ -+ return true; -+} -+ +/* + * Per-CPU kthreads are allowed to run on !active && online CPUs, see + * __set_cpus_allowed_ptr(). @@ -6401,28 +6948,32 @@ index 000000000000..b8b35546c416 + * statistics and checks timeslices in a time-independent way, regardless + * of when exactly it is running. + */ -+ if (idle_cpu(cpu) || !tick_nohz_tick_stopped_cpu(cpu)) ++ if (!tick_nohz_tick_stopped_cpu(cpu)) + goto out_requeue; + + rq_lock_irq(rq); + curr = rq->curr; -+ if (is_idle_task(curr) || cpu_is_offline(cpu)) ++ if (cpu_is_offline(cpu)) + goto out_unlock; + ++ curr = rq->curr; + update_rq_clock(rq); -+ delta = rq_clock_task(rq) - curr->last_ran; + -+ /* -+ * Make sure the next tick runs within a reasonable -+ * amount of time. -+ */ -+ WARN_ON_ONCE(delta > (u64)NSEC_PER_SEC * 3); ++ if (!is_idle_task(curr)) { ++ /* ++ * Make sure the next tick runs within a reasonable ++ * amount of time. ++ */ ++ delta = rq_clock_task(rq) - curr->se.exec_start; ++ WARN_ON_ONCE(delta > (u64)NSEC_PER_SEC * 3); ++ } + task_tick(rq); + +out_unlock: + rq_unlock_irq(rq, NULL); + +out_requeue: ++ + /* + * Run the remote tick once per second (1Hz). This arbitrary + * frequency is large enough to avoid overload but short enough @@ -8972,28 +9523,32 @@ index 000000000000..b8b35546c416 + */ +int get_nohz_timer_target(void) +{ -+ int i, cpu = smp_processor_id(); ++ int i, cpu = smp_processor_id(), default_cpu = -1; + struct sched_domain *sd; + -+ if (!idle_cpu(cpu) && housekeeping_cpu(cpu, HK_FLAG_TIMER)) -+ return cpu; ++ if (housekeeping_cpu(cpu, HK_FLAG_TIMER)) { ++ if (!idle_cpu(cpu)) ++ return cpu; ++ default_cpu = cpu; ++ } + + rcu_read_lock(); + for_each_domain(cpu, sd) { -+ for_each_cpu(i, sched_domain_span(sd)) { ++ for_each_cpu_and(i, sched_domain_span(sd), ++ housekeeping_cpumask(HK_FLAG_TIMER)) { + if (cpu == i) + continue; + -+ if (!idle_cpu(i) && housekeeping_cpu(i, HK_FLAG_TIMER)) { -+ cpu = i; ++ if (!idle_cpu(i)) { + cpu = i; + goto unlock; + } + } + } + -+ if (!housekeeping_cpu(cpu, HK_FLAG_TIMER)) -+ cpu = housekeeping_any_cpu(HK_FLAG_TIMER); ++ if (default_cpu == -1) ++ default_cpu = housekeeping_any_cpu(HK_FLAG_TIMER); ++ cpu = default_cpu; +unlock: + rcu_read_unlock(); + return cpu; @@ -10535,10 +11090,10 @@ index 000000000000..b8b35546c416 +#undef CREATE_TRACE_POINTS diff --git a/kernel/sched/MuQSS.h b/kernel/sched/MuQSS.h new file mode 100644 -index 000000000000..cf655482df00 +index 000000000000..93312a86d5bd --- /dev/null +++ b/kernel/sched/MuQSS.h -@@ -0,0 +1,1012 @@ +@@ -0,0 +1,1022 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef MUQSS_SCHED_H +#define MUQSS_SCHED_H @@ -10718,7 +11273,9 @@ index 000000000000..cf655482df00 + raw_spinlock_t *lock; + raw_spinlock_t *orig_lock; + -+ struct task_struct *curr, *idle, *stop; ++ struct task_struct __rcu *curr; ++ struct task_struct *idle; ++ struct task_struct *stop; + struct mm_struct *prev_mm; + + unsigned int nr_running; @@ -11328,11 +11885,6 @@ index 000000000000..cf655482df00 + return util; +} + -+static inline unsigned int uclamp_util(struct rq *rq, unsigned int util) -+{ -+ return util; -+} -+ +#ifdef arch_scale_freq_capacity +#ifndef arch_scale_freq_invariant +#define arch_scale_freq_invariant() (true) @@ -11550,9 +12102,22 @@ index 000000000000..cf655482df00 +} +#endif + ++#ifdef CONFIG_SMP ++static inline bool is_per_cpu_kthread(struct task_struct *p) ++{ ++ if (!(p->flags & PF_KTHREAD)) ++ return false; ++ ++ if (p->nr_cpus_allowed != 1) ++ return false; ++ ++ return true; ++} ++#endif ++ +#endif /* MUQSS_SCHED_H */ diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c -index 9b8916fd00a2..5769f533f6d2 100644 +index 7fbaee24c824..15d274af9b1c 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c @@ -183,6 +183,12 @@ static unsigned int get_next_freq(struct sugov_policy *sg_policy, @@ -11590,10 +12155,10 @@ index 9b8916fd00a2..5769f533f6d2 100644 .sched_nice = 0, .sched_priority = 0, diff --git a/kernel/sched/cpupri.h b/kernel/sched/cpupri.h -index 7dc20a3232e7..e733a0a53b0a 100644 +index 32dd520db11f..bedaf3696457 100644 --- a/kernel/sched/cpupri.h +++ b/kernel/sched/cpupri.h -@@ -17,11 +17,13 @@ struct cpupri { +@@ -17,6 +17,7 @@ struct cpupri { int *cpu_to_pri; }; @@ -11601,14 +12166,13 @@ index 7dc20a3232e7..e733a0a53b0a 100644 #ifdef CONFIG_SMP int cpupri_find(struct cpupri *cp, struct task_struct *p, struct cpumask *lowest_mask, - bool (*fitness_fn)(struct task_struct *p, int cpu)); - void cpupri_set(struct cpupri *cp, int cpu, int pri); +@@ -25,3 +26,4 @@ void cpupri_set(struct cpupri *cp, int cpu, int pri); int cpupri_init(struct cpupri *cp); void cpupri_cleanup(struct cpupri *cp); #endif +#endif diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c -index d43318a489f2..16b0866ac3b6 100644 +index cff3e656566d..cdd09dff062c 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -266,26 +266,6 @@ static inline u64 account_other_time(u64 max) @@ -11638,7 +12202,7 @@ index d43318a489f2..16b0866ac3b6 100644 /* * Accumulate raw cputime values of dead tasks (sig->[us]time) and live * tasks (sum on group iteration) belonging to @tsk's group. -@@ -661,7 +641,7 @@ void cputime_adjust(struct task_cputime *curr, struct prev_cputime *prev, +@@ -658,7 +638,7 @@ void cputime_adjust(struct task_cputime *curr, struct prev_cputime *prev, void task_cputime_adjusted(struct task_struct *p, u64 *ut, u64 *st) { struct task_cputime cputime = { @@ -11648,7 +12212,7 @@ index d43318a489f2..16b0866ac3b6 100644 task_cputime(p, &cputime.utime, &cputime.stime); diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c -index ffa959e91227..ad4d17a51c0b 100644 +index b743bf38f08f..64c00aada21c 100644 --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@ -231,6 +231,8 @@ static void cpuidle_idle_call(void) @@ -11696,7 +12260,7 @@ index ffa959e91227..ad4d17a51c0b 100644 }; +#endif /* CONFIG_SCHED_MUQSS */ diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 280a3c735935..70e7f77f7691 100644 +index 9ea647835fd6..9259c59af9c1 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2,6 +2,19 @@ @@ -11719,8 +12283,8 @@ index 280a3c735935..70e7f77f7691 100644 #include #include -@@ -2487,3 +2500,30 @@ static inline void membarrier_switch_mm(struct rq *rq, - { +@@ -2492,3 +2505,30 @@ static inline bool is_per_cpu_kthread(struct task_struct *p) + return true; } #endif + @@ -11751,7 +12315,7 @@ index 280a3c735935..70e7f77f7691 100644 +#endif +#endif /* CONFIG_SCHED_MUQSS */ diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c -index 6ec1e595b1d4..7261ad3ec264 100644 +index dfb64c08a407..62197de5b4d3 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -3,6 +3,7 @@ @@ -11941,7 +12505,7 @@ index 000000000000..bf5c6e97e139 + l->entries--; +} diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index 70665934d53e..0f9e94cb12aa 100644 +index ad5b88a53c5a..4c9cd46d850f 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -130,9 +130,19 @@ static int __maybe_unused four = 4; @@ -11992,7 +12556,7 @@ index 70665934d53e..0f9e94cb12aa 100644 #ifdef CONFIG_PROVE_LOCKING { .procname = "prove_locking", -@@ -1070,6 +1082,62 @@ static struct ctl_table kern_table[] = { +@@ -1061,6 +1073,62 @@ static struct ctl_table kern_table[] = { .proc_handler = proc_dointvec, }, #endif @@ -12106,10 +12670,10 @@ index f5490222e134..544c58c29267 100644 /** * clockevents_increase_min_delta - raise minimum delta of a clock event device diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 8de90ea31280..19523b9640cd 100644 +index 3a609e7344f3..ab38dde6e106 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -2209,3 +2209,113 @@ int __sched schedule_hrtimeout(ktime_t *expires, +@@ -2211,3 +2211,113 @@ int __sched schedule_hrtimeout(ktime_t *expires, return schedule_hrtimeout_range(expires, 0, mode); } EXPORT_SYMBOL_GPL(schedule_hrtimeout); @@ -12224,7 +12788,7 @@ index 8de90ea31280..19523b9640cd 100644 +} +EXPORT_SYMBOL(schedule_msec_hrtimeout_uninterruptible); diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c -index 42d512fcfda2..0db83bdf7f39 100644 +index 8ff6da77a01f..b9dcb32b7153 100644 --- a/kernel/time/posix-cpu-timers.c +++ b/kernel/time/posix-cpu-timers.c @@ -226,7 +226,7 @@ static void task_sample_cputime(struct task_struct *p, u64 *samples) @@ -12356,7 +12920,7 @@ index 4820823515e9..13034cc7c9a4 100644 while (timeout && !signal_pending(current)) timeout = schedule_timeout_interruptible(timeout); diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c -index 69ee8ef12cee..6edb01f2fd81 100644 +index b5e3496cf803..68930e7f4d28 100644 --- a/kernel/trace/trace_selftest.c +++ b/kernel/trace/trace_selftest.c @@ -1048,10 +1048,15 @@ static int trace_wakeup_test_thread(void *data) @@ -12376,10 +12940,10 @@ index 69ee8ef12cee..6edb01f2fd81 100644 struct wakeup_test_data *x = data; diff --git a/mm/vmscan.c b/mm/vmscan.c -index 572fb17c6273..0e42b5dc689e 100644 +index 876370565455..42d9b07c13fe 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -177,7 +177,7 @@ struct scan_control { +@@ -163,7 +163,7 @@ struct scan_control { /* * From 0 .. 100. Higher means more swappy. */ @@ -12389,7 +12953,7 @@ index 572fb17c6273..0e42b5dc689e 100644 * The total number of pages which are beyond the high watermark within all * zones. diff --git a/net/core/pktgen.c b/net/core/pktgen.c -index 294bfcf0ce0e..81d0fce8cdee 100644 +index d0641bba6b81..ff698a83a09c 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -1894,7 +1894,7 @@ static void pktgen_mark_device(const struct pktgen_net *pn, const char *ifname) @@ -12402,10 +12966,10 @@ index 294bfcf0ce0e..81d0fce8cdee 100644 if (++i >= max_tries) { diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c -index cc8594d76c70..6752b44dd154 100644 +index 40232a278b1a..d87fae1113aa 100644 --- a/sound/pci/maestro3.c +++ b/sound/pci/maestro3.c -@@ -2002,7 +2002,7 @@ static void snd_m3_ac97_reset(struct snd_m3 *chip) +@@ -1995,7 +1995,7 @@ static void snd_m3_ac97_reset(struct snd_m3 *chip) outw(0, io + GPIO_DATA); outw(dir | GPO_PRIMARY_AC97, io + GPIO_DIRECTION); @@ -12414,7 +12978,7 @@ index cc8594d76c70..6752b44dd154 100644 outw(GPO_PRIMARY_AC97, io + GPIO_DATA); udelay(5); -@@ -2010,7 +2010,7 @@ static void snd_m3_ac97_reset(struct snd_m3 *chip) +@@ -2003,7 +2003,7 @@ static void snd_m3_ac97_reset(struct snd_m3 *chip) outw(IO_SRAM_ENABLE | SERIAL_AC_LINK_ENABLE, io + RING_BUS_CTRL_A); outw(~0, io + GPIO_MASK); @@ -12534,7 +13098,7 @@ index 6497c1ea6228..08fefeca9d82 100644 } diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c -index b6378f025836..5f5e58655d32 100644 +index 9fb54e6fe254..b6212c400c59 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -154,7 +154,7 @@ static void dapm_assert_locked(struct snd_soc_dapm_context *dapm) @@ -12547,7 +13111,7 @@ index b6378f025836..5f5e58655d32 100644 __printf(3, 4) diff --git a/sound/usb/line6/pcm.c b/sound/usb/line6/pcm.c -index 9c437c716cfd..4e0a02f07bf5 100644 +index fdbdfb7bce92..fa8e8faf3eb3 100644 --- a/sound/usb/line6/pcm.c +++ b/sound/usb/line6/pcm.c @@ -127,7 +127,7 @@ static void line6_wait_clear_audio_urbs(struct snd_line6_pcm *line6pcm,