diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | disable-per-VMA_v4_1.patch | 118 | ||||
-rw-r--r-- | disable-per-VMA_v4_2.patch | 75 |
4 files changed, 4 insertions, 205 deletions
@@ -1,7 +1,7 @@ pkgbase = linux-xanmod pkgdesc = Linux Xanmod - Current Stable (CURRENT) pkgver = 6.4.3 - pkgrel = 1 + pkgrel = 2 url = http://www.xanmod.org/ arch = x86_64 license = GPL2 @@ -17,16 +17,12 @@ pkgbase = linux-xanmod source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.4.tar.sign source = patch-6.4.3-xanmod1.xz::https://github.com/xanmod/linux/releases/download/6.4.3-xanmod1/patch-6.4.3-xanmod1.xz source = choose-gcc-optimization.sh - source = disable-per-VMA_v4_1.patch - source = disable-per-VMA_v4_2.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E sha256sums = 8fa0588f0c2ceca44cac77a0e39ba48c9f00a6b9dc69761c02a5d3efac8da7f3 sha256sums = SKIP sha256sums = c718aaba0f25cb90b9660ae4efeb0eca91e81c5573fea561deba20dce4bf8082 sha256sums = a8b38eb482eb685944757182c4886404abc12703e5e56ec39c7d61298d17d71f - sha256sums = 0b989ab3c40e118a8b56a8bc44e3ebbb7ed206bbead626a0f5761c8d0fbcc613 - sha256sums = 070765f7a42070a02e638b1c2520c7563b678a5900ce1d169c892ce3f16f8919 pkgname = linux-xanmod pkgdesc = The Linux kernel and modules with Xanmod patches @@ -77,7 +77,7 @@ pkgver=${_major}.3 _branch=6.x xanmod=1 _revision= -pkgrel=${xanmod} +pkgrel=2 pkgdesc='Linux Xanmod - Current Stable (CURRENT)' url="http://www.xanmod.org/" arch=(x86_64) @@ -94,9 +94,7 @@ _srcname="linux-${pkgver}-xanmod${xanmod}" source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar."{xz,sign} "patch-${pkgver}-xanmod${xanmod}${_revision}.xz::https://github.com/xanmod/linux/releases/download/${pkgver}-xanmod${xanmod}${_revision}/patch-${pkgver}-xanmod${xanmod}.xz" - choose-gcc-optimization.sh - "disable-per-VMA_v4_1.patch" - "disable-per-VMA_v4_2.patch") + choose-gcc-optimization.sh) #"patch-${pkgver}-xanmod${xanmod}.xz::https://sourceforge.net/projects/xanmod/files/releases/stable/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz/download" validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds @@ -114,9 +112,7 @@ done sha256sums=('8fa0588f0c2ceca44cac77a0e39ba48c9f00a6b9dc69761c02a5d3efac8da7f3' 'SKIP' 'c718aaba0f25cb90b9660ae4efeb0eca91e81c5573fea561deba20dce4bf8082' - 'a8b38eb482eb685944757182c4886404abc12703e5e56ec39c7d61298d17d71f' - '0b989ab3c40e118a8b56a8bc44e3ebbb7ed206bbead626a0f5761c8d0fbcc613' - '070765f7a42070a02e638b1c2520c7563b678a5900ce1d169c892ce3f16f8919') + 'a8b38eb482eb685944757182c4886404abc12703e5e56ec39c7d61298d17d71f') export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux} export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-makepkg} diff --git a/disable-per-VMA_v4_1.patch b/disable-per-VMA_v4_1.patch deleted file mode 100644 index b8ca1a18b40f..000000000000 --- a/disable-per-VMA_v4_1.patch +++ /dev/null @@ -1,118 +0,0 @@ -From mboxrd@z Thu Jan 1 00:00:00 1970 -Return-Path: <linux-kernel-owner@vger.kernel.org> -X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on - aws-us-west-2-korg-lkml-1.web.codeaurora.org -Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) - by smtp.lore.kernel.org (Postfix) with ESMTP id C2403EB64DD - for <linux-kernel@archiver.kernel.org>; Thu, 6 Jul 2023 01:14:14 +0000 (UTC) -Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand - id S232489AbjGFBON (ORCPT <rfc822;linux-kernel@archiver.kernel.org>); - Wed, 5 Jul 2023 21:14:13 -0400 -Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40440 "EHLO - lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org - with ESMTP id S232282AbjGFBOL (ORCPT - <rfc822;linux-kernel@vger.kernel.org>); - Wed, 5 Jul 2023 21:14:11 -0400 -Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) - by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACA7219AD - for <linux-kernel@vger.kernel.org>; Wed, 5 Jul 2023 18:14:09 -0700 (PDT) -Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-bb0d11a56abso104585276.2 - for <linux-kernel@vger.kernel.org>; Wed, 05 Jul 2023 18:14:09 -0700 (PDT) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=google.com; s=20221208; t=1688606049; x=1691198049; - h=cc:to:from:subject:message-id:references:mime-version:in-reply-to - :date:from:to:cc:subject:date:message-id:reply-to; - bh=BMMaNFIuSTODACKQNg6XDNNsjL1Pfx6pMDgwoYH4Ut0=; - b=Yn5aRyUWACvrhkw4W9c/RrQ1vZVkQ3aETLIOHYDXUyaoQSnxwBiG3WfF5wRFwIFEvw - weJQdiFsuoHFg7+9Knuii4aazDz880sQWUsYnqjniz/RcD+lsmIUy0RtMfI3EZOdknvG - lfux25ysmzhfKTDzbuUftCdRHhS3/CZtHh7uU502n9ZsPETUnBcunocCrRCWmY4NthQM - NYWKscTrHCCVV2l9q6DYpMlOWBsc7125yZXvQvDPOkzqa2jEVxhh++SxzCEucUU7Sj9Y - PqugueozRZVh1tS8qAnhcSciZ/GC8dmxTaNU5U27m8aw8+rjObbB60wx6Je9TqxLz6zX - mKCA== -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20221208; t=1688606049; x=1691198049; - h=cc:to:from:subject:message-id:references:mime-version:in-reply-to - :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; - bh=BMMaNFIuSTODACKQNg6XDNNsjL1Pfx6pMDgwoYH4Ut0=; - b=gNTKDQRLYtT59SsSRj64wrCj7CcrLwfU/UCrBJ2k1+U7gDfP108Ue/sUa++jGjNiQT - sXK7ZiBpvA8F41LSwxayYpymwC6pCAdrhPNw0Gm2FR2GAYFaxqKCDVOuRx6R1+FoRj6L - LBRA0KKVRldVWpiS0sRE2XWuDrzv+eK+gbyyfXdkhZghk2gvFGw4nMlbgggWGuy5n8Vj - uZxXPygKqnDglvyPWiuL6+O61l8NBLnzgyoSC/txVS6WbzaeF/T5m9xgBIPqUUs4pEwb - +ZfLfxsY2n9sTNR2J7tVeJBQkzBpAfeHAVgjUpBpondUzwdGjy+ZjlcSMQUTpvmJshag - vB1w== -X-Gm-Message-State: ABy/qLY0hYMSeqI1aJGaKO7qUST7eAFCAkN0O5qMf32amw8IodaghgVH - cODpwOJWQWRlps20ccRqM/Gi1GURPnc= -X-Google-Smtp-Source: APBJJlHam+3Kw1wwiprnqdWZZWRe4i9qQ9FP0XUelvhsWWC81rNfZCgy8OD9hwPRpPw8+Oh35ka/px6hTPY= -X-Received: from surenb-desktop.mtv.corp.google.com ([2620:15c:211:201:946c:be30:90d9:9093]) - (user=surenb job=sendgmr) by 2002:a25:c6:0:b0:c4d:c7cb:5a4e with SMTP id - 189-20020a2500c6000000b00c4dc7cb5a4emr2822yba.3.1688606048773; Wed, 05 Jul - 2023 18:14:08 -0700 (PDT) -Date: Wed, 5 Jul 2023 18:14:00 -0700 -In-Reply-To: <20230706011400.2949242-1-surenb@google.com> -Mime-Version: 1.0 -References: <20230706011400.2949242-1-surenb@google.com> -X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog -Message-ID: <20230706011400.2949242-3-surenb@google.com> -Subject: [PATCH v4 2/2] mm: disable CONFIG_PER_VMA_LOCK until its fixed -From: Suren Baghdasaryan <surenb@google.com> -To: akpm@linux-foundation.org -Cc: jirislaby@kernel.org, jacobly.alt@gmail.com, - holger@applied-asynchrony.com, hdegoede@redhat.com, - michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, - vbabka@suse.cz, hannes@cmpxchg.org, mgorman@techsingularity.net, - dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, - peterz@infradead.org, ldufour@linux.ibm.com, paulmck@kernel.org, - mingo@redhat.com, will@kernel.org, luto@kernel.org, - songliubraving@fb.com, peterx@redhat.com, david@redhat.com, - dhowells@redhat.com, hughd@google.com, bigeasy@linutronix.de, - kent.overstreet@linux.dev, punit.agrawal@bytedance.com, - lstoakes@gmail.com, peterjung1337@gmail.com, rientjes@google.com, - chriscli@google.com, axelrasmussen@google.com, joelaf@google.com, - minchan@google.com, rppt@kernel.org, jannh@google.com, - shakeelb@google.com, tatashin@google.com, edumazet@google.com, - gthelen@google.com, linux-mm@kvack.org, - linux-kernel@vger.kernel.org, stable@vger.kernel.org, - Suren Baghdasaryan <surenb@google.com> -Content-Type: text/plain; charset="UTF-8" -Precedence: bulk -List-ID: <linux-kernel.vger.kernel.org> -X-Mailing-List: linux-kernel@vger.kernel.org - -A memory corruption was reported in [1] with bisection pointing to the -patch [2] enabling per-VMA locks for x86. -Disable per-VMA locks config to prevent this issue until the fix is -confirmed. This is expected to be a temporary measure. - -[1] https://bugzilla.kernel.org/show_bug.cgi?id=217624 -[2] https://lore.kernel.org/all/20230227173632.3292573-30-surenb@google.com - -Reported-by: Jiri Slaby <jirislaby@kernel.org> -Closes: https://lore.kernel.org/all/dbdef34c-3a07-5951-e1ae-e9c6e3cdf51b@kernel.org/ -Reported-by: Jacob Young <jacobly.alt@gmail.com> -Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217624 -Fixes: 0bff0aaea03e ("x86/mm: try VMA lock-based page fault handling first") -Cc: stable@vger.kernel.org -Signed-off-by: Suren Baghdasaryan <surenb@google.com> ---- - mm/Kconfig | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/mm/Kconfig b/mm/Kconfig -index 09130434e30d..0abc6c71dd89 100644 ---- a/mm/Kconfig -+++ b/mm/Kconfig -@@ -1224,8 +1224,9 @@ config ARCH_SUPPORTS_PER_VMA_LOCK - def_bool n - - config PER_VMA_LOCK -- def_bool y -+ bool "Enable per-vma locking during page fault handling." - depends on ARCH_SUPPORTS_PER_VMA_LOCK && MMU && SMP -+ depends on BROKEN - help - Allow per-vma locking during page fault handling. - --- -2.41.0.255.g8b1d071c50-goog - - diff --git a/disable-per-VMA_v4_2.patch b/disable-per-VMA_v4_2.patch deleted file mode 100644 index a86c966a4110..000000000000 --- a/disable-per-VMA_v4_2.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: Suren Baghdasaryan <surenb@google.com> -To: akpm@linux-foundation.org -Cc: jirislaby@kernel.org, jacobly.alt@gmail.com, - holger@applied-asynchrony.com, hdegoede@redhat.com, - michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, - vbabka@suse.cz, hannes@cmpxchg.org, mgorman@techsingularity.net, - dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, - peterz@infradead.org, ldufour@linux.ibm.com, paulmck@kernel.org, - mingo@redhat.com, will@kernel.org, luto@kernel.org, - songliubraving@fb.com, peterx@redhat.com, david@redhat.com, - dhowells@redhat.com, hughd@google.com, bigeasy@linutronix.de, - kent.overstreet@linux.dev, punit.agrawal@bytedance.com, - lstoakes@gmail.com, peterjung1337@gmail.com, rientjes@google.com, - chriscli@google.com, axelrasmussen@google.com, joelaf@google.com, - minchan@google.com, rppt@kernel.org, jannh@google.com, - shakeelb@google.com, tatashin@google.com, edumazet@google.com, - gthelen@google.com, linux-mm@kvack.org, - linux-kernel@vger.kernel.org, stable@vger.kernel.org, - Suren Baghdasaryan <surenb@google.com> -Subject: [PATCH v4 1/2] fork: lock VMAs of the parent process when forking -Date: Wed, 5 Jul 2023 18:13:59 -0700 [thread overview] -Message-ID: <20230706011400.2949242-2-surenb@google.com> (raw) -In-Reply-To: <20230706011400.2949242-1-surenb@google.com> - -When forking a child process, parent write-protects an anonymous page -and COW-shares it with the child being forked using copy_present_pte(). -Parent's TLB is flushed right before we drop the parent's mmap_lock in -dup_mmap(). If we get a write-fault before that TLB flush in the parent, -and we end up replacing that anonymous page in the parent process in -do_wp_page() (because, COW-shared with the child), this might lead to -some stale writable TLB entries targeting the wrong (old) page. -Similar issue happened in the past with userfaultfd (see flush_tlb_page() -call inside do_wp_page()). -Lock VMAs of the parent process when forking a child, which prevents -concurrent page faults during fork operation and avoids this issue. -This fix can potentially regress some fork-heavy workloads. Kernel build -time did not show noticeable regression on a 56-core machine while a -stress test mapping 10000 VMAs and forking 5000 times in a tight loop -shows ~7% regression. If such fork time regression is unacceptable, -disabling CONFIG_PER_VMA_LOCK should restore its performance. Further -optimizations are possible if this regression proves to be problematic. - -Suggested-by: David Hildenbrand <david@redhat.com> -Reported-by: Jiri Slaby <jirislaby@kernel.org> -Closes: https://lore.kernel.org/all/dbdef34c-3a07-5951-e1ae-e9c6e3cdf51b@kernel.org/ -Reported-by: Holger Hoffstätte <holger@applied-asynchrony.com> -Closes: https://lore.kernel.org/all/b198d649-f4bf-b971-31d0-e8433ec2a34c@applied-asynchrony.com/ -Reported-by: Jacob Young <jacobly.alt@gmail.com> -Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217624 -Fixes: 0bff0aaea03e ("x86/mm: try VMA lock-based page fault handling first") -Cc: stable@vger.kernel.org -Signed-off-by: Suren Baghdasaryan <surenb@google.com> ---- - kernel/fork.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/kernel/fork.c b/kernel/fork.c -index b85814e614a5..2ba918f83bde 100644 ---- a/kernel/fork.c -+++ b/kernel/fork.c -@@ -658,6 +658,12 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, - retval = -EINTR; - goto fail_uprobe_end; - } -+#ifdef CONFIG_PER_VMA_LOCK -+ /* Disallow any page faults before calling flush_cache_dup_mm */ -+ for_each_vma(old_vmi, mpnt) -+ vma_start_write(mpnt); -+ vma_iter_set(&old_vmi, 0); -+#endif - flush_cache_dup_mm(oldmm); - uprobe_dup_mmap(oldmm, mm); - /* --- -2.41.0.255.g8b1d071c50-goog |