From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 38A1CC05027 for ; Thu, 26 Jan 2023 16:11:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA4B28E0005; Thu, 26 Jan 2023 11:11:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B54BB8E0002; Thu, 26 Jan 2023 11:11:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F5E88E0005; Thu, 26 Jan 2023 11:11:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 90C028E0002 for ; Thu, 26 Jan 2023 11:11:42 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 27C8FC0E80 for ; Thu, 26 Jan 2023 16:11:42 +0000 (UTC) X-FDA: 80397440844.22.542C786 Received: from mail-yb1-f170.google.com (mail-yb1-f170.google.com [209.85.219.170]) by imf10.hostedemail.com (Postfix) with ESMTP id 455B5C0014 for ; Thu, 26 Jan 2023 16:11:40 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=F4aRNUuV; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of surenb@google.com designates 209.85.219.170 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674749500; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=avupiuDAbLM3PyQGhRhg5PpJotruwpJ0ItNruSnPDto=; b=qH7TXSoZXkJKj9eV0gOWNU+6HE9/N5iz3WzT5CFmei4/AqoB5+VC0qJHjv0bpR9Ezf7HjU Sq+7U5pzm6TKuXMLzJsbJRwReyAuJV6a6ybsYTLMqECovyLrRJq1+ATD/YI7wcpkppJCIG mFywdwvAHFUHBr48/WaZ6HH6Yy4DIjc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=F4aRNUuV; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf10.hostedemail.com: domain of surenb@google.com designates 209.85.219.170 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674749500; a=rsa-sha256; cv=none; b=zXjE1x32dDRvNST+6RlLTnqhYjgx8rQ65nB/AAPbn0Iedk4ELis9b/PrJ6vstKwrdiLT9A WsLVE2TlsW7Wl0ypckRnfIK6/lc+0+/2L9rJFB++8K8zMx6kJMoYopGcnerG3YP4TPsIwM vfU1TGbz80UfZWEKOzKV3Z5upLRltP4= Received: by mail-yb1-f170.google.com with SMTP id d132so2567670ybb.5 for ; Thu, 26 Jan 2023 08:11:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=avupiuDAbLM3PyQGhRhg5PpJotruwpJ0ItNruSnPDto=; b=F4aRNUuVVxsDBeXKsHm0/n4bD8ec/RvsWf4QHiaPtWESGWCVcLcyLKe9Jd548b052h QcT6RtpE5UZKWO+YM6n5OvW4ARJ407Bh/66B49pzxrLWo0wLTwvYXksgxlAxJP0ioT2A Ualx0U2WcTfPugYJrqjVJj1hLBW/6lt2d5fTsCBLTpqMFd3n42vfTrLpt86ugZXy5nJt QY7vUCD1iSwt54l8qO7z+mpREsvijxTv+UkGBr5zHsEg/ZvnO6ENLfsmCjldantrjHKi izJKDDdVWgISSoDXUQEPobl6q3z+Qvi6Jzv0Ef01T3mTiN/xvpQhZNzm1GdzaOYEsUKe IgQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=avupiuDAbLM3PyQGhRhg5PpJotruwpJ0ItNruSnPDto=; b=jASJLsaqAmadHlBTg5ZIrnobNf4aJV/7HJsaVlsM8pub+5J6xX9osRwvuWZSZfze8F QFtXkDVYRWpRzUbsJCeq4sW6hYT63rpsFQIBA3WJY9vOkUzTgh7/1dMaY9Pe1OxNy1t/ HUjrkJqg/GpkVsvUoYsBmMsl2F5h3EvO3tcko+tMVX1TLFc8ivGO3u4rQ1e06YAilWHp BXE/dCtWoLcLo/YQy8C92y1TIHOfNXaUtAyVAmjqJa10hsipmUH8zEHoPDfu4HF2zgTO O7bQh38WqKstpu+8j37cBsyadz+0OgOPYGSt2MCH5oqW/TD+Q8kLCMy8Zlg/g4zaC7Fh 7iRg== X-Gm-Message-State: AO0yUKVSScjTrOaQq3TFughgCCUX9LRRYh76iF3KxeslfpeUKzgJkmTI jcpw3+5hFE7wTnEs3mVrzFNH1HF/f94hbt+xKDQEoQ== X-Google-Smtp-Source: AK7set9JejgaDEq/8tf/XX17cO+V0P18PwdgAGce26N1rqJGw+gXM9FumIvm5V3c8mJiZHRvPDjFNqGKBCO61IcUfSw= X-Received: by 2002:a25:ad02:0:b0:80b:6fd3:84d3 with SMTP id y2-20020a25ad02000000b0080b6fd384d3mr1139572ybi.316.1674749499156; Thu, 26 Jan 2023 08:11:39 -0800 (PST) MIME-Version: 1.0 References: <20230125233554.153109-1-surenb@google.com> <20230125233554.153109-6-surenb@google.com> <20230126151923.4fu34ytwkpbbnvha@techsingularity.net> In-Reply-To: <20230126151923.4fu34ytwkpbbnvha@techsingularity.net> From: Suren Baghdasaryan Date: Thu, 26 Jan 2023 08:11:28 -0800 Message-ID: Subject: Re: [PATCH v3 5/7] mm: replace vma->vm_flags indirect modification in ksm_madvise To: Mel Gorman Cc: akpm@linux-foundation.org, michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, 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, axelrasmussen@google.com, joelaf@google.com, minchan@google.com, jannh@google.com, shakeelb@google.com, tatashin@google.com, edumazet@google.com, gthelen@google.com, gurua@google.com, arjunroy@google.com, soheil@google.com, hughlynch@google.com, leewalsh@google.com, posk@google.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 455B5C0014 X-Stat-Signature: k66az15duzcngfxyfhaeaqp4ue5kozzp X-HE-Tag: 1674749500-66113 X-HE-Meta: U2FsdGVkX1+oYZ+qL4CZ6cU3vrwrTS5djodAxqy9coeyOrH6NY6n/uqLnjIFvEeZlI60MXNlQ4u7gqKoVINq6UjQhBHIlVdeaGlDuP9ow/uJedUFu5JEM+DhVfiz6dsKLipyeD1ch+qyWA9X8XR7Tn7t26LLkwjkPDgSk7RUKMOyK6IoRk4Aix/orMfy6rOpS9JF6GJY3+ZbMX1wwuR5DjGynu3Gb1T1CuC1/gtwelUYu7pZYlEWv33XGJ3pjZdNqpTgPmIiM/+3plY5lVsO9joDlDPWO1ouVjy7C+h6VzH1aW2/RhV6G+dIdMW+ksNM9gEPYzI+DgYpIEmly2Adi+pkVgD21M0QQMuzi4wYjHSvKo34R02CMxB1U0rkLlkua2iUyBkixgX8oOx/o71OwOD1yXjkRJGckyhwMkoBEAITjdJZ/C+T0ASWgTMxkxukf20G7cHHuTP/PdOw/7C0frKn+vKBPh9bZqK5GPchq6Eu47TcGG455tGfOMB9lNxb7wBWq8KWcAHizX6VW7u/RRtUDZywz5sb5F5AdACotpLUjRoU7w+9EDMEejExvrsspyrkz6AsqzSiu7Qspiz9iw36QAjIELe5tFQ7oRXrr54qSkNK0RKqFkbnD9Bbgl7ZokBfyrbW2CR1Ahd1LREMIh8dnFURmAN19qd0sdTQUDdqaF6YPns+CohAb6mfSYo4dTHc0PLVYw9TMDbs89xEx1AYPDYvpmlPi8NB7pqcETy5LgFN6yCACBUidqP3LwSYyIFStLho2C62ze1XLF8WYQI8N+nlD1Q2coyrIv8HPoW8AUOqAMqUCd+g1+nZBQdRp11PP4q7N7HvFMp+wPdHDGYup6pCvtsy/1cTvQlG0R9YWVcr6wMrOIEVz6bbVFdYR/t81TaeMnKIc22ZI36ScsRU5itDTY6ryYpSSEzWiIDfcR5izYiaJmBYNf82MwS/Mh0tEAGCnAkgr3n3Jod o6++rAXX VNbV+ZkVH/KW4dQLfo3N2WOXEIoTo+OmOrAAwxbYZPADk9Vtp8yleDxKHYccaUMCgA4QDE7kLMdnUEQ+XCmMKTJYrCzprAjVVCVBXbEmH64vzA847vVTYrPlpE/6tDw9xkC4N9CAYPn1Z3fdAXFPuUwg63BwjAk7bkw9kcKGBKq0r2gW3Q+1P7oqe8fNmWQP+lmjRPEXXb7UbiHgcgy6o4qlwY2/btumazt6XipUyNBGciffX1IyDyzxP0JtsaBOWQt+LzpG1PB85tz7qM0Rw6G+dHjk1/K8lxaNYxdqzcAvMZ+2AnnLdupCADtkeJV2KyE328bKMzwBzrKDks8IeJtRBamrME85HcXZFKWJFUU/AnNAV60i1qiFQwIWP6Wasxoh9HUBo8nBSVUb0i+BUEBTINV5qv/lQ5EVkov/wRK12hb0mfDGpPRnzDA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jan 26, 2023 at 7:19 AM Mel Gorman wrote: > > On Wed, Jan 25, 2023 at 03:35:52PM -0800, Suren Baghdasaryan wrote: > > Replace indirect modifications to vma->vm_flags with calls to modifier > > functions to be able to track flag changes and to keep vma locking > > correctness. > > > > Signed-off-by: Suren Baghdasaryan > > Acked-by: Michal Hocko > > --- > > arch/powerpc/kvm/book3s_hv_uvmem.c | 5 ++++- > > arch/s390/mm/gmap.c | 5 ++++- > > 2 files changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/arch/powerpc/kvm/book3s_hv_uvmem.c b/arch/powerpc/kvm/book3s_hv_uvmem.c > > index 1d67baa5557a..325a7a47d348 100644 > > --- a/arch/powerpc/kvm/book3s_hv_uvmem.c > > +++ b/arch/powerpc/kvm/book3s_hv_uvmem.c > > @@ -393,6 +393,7 @@ static int kvmppc_memslot_page_merge(struct kvm *kvm, > > { > > unsigned long gfn = memslot->base_gfn; > > unsigned long end, start = gfn_to_hva(kvm, gfn); > > + unsigned long vm_flags; > > int ret = 0; > > struct vm_area_struct *vma; > > int merge_flag = (merge) ? MADV_MERGEABLE : MADV_UNMERGEABLE; > > @@ -409,12 +410,14 @@ static int kvmppc_memslot_page_merge(struct kvm *kvm, > > ret = H_STATE; > > break; > > } > > + vm_flags = vma->vm_flags; > > ret = ksm_madvise(vma, vma->vm_start, vma->vm_end, > > - merge_flag, &vma->vm_flags); > > + merge_flag, &vm_flags); > > if (ret) { > > ret = H_STATE; > > break; > > } > > + reset_vm_flags(vma, vm_flags); > > start = vma->vm_end; > > } while (end > vma->vm_end); > > Add a comment on why the vm_flags are copied in case someone "optimises" > this in the future? Something like > > /* Copy vm_flags to avoid any partial modifications in ksm_madvise. */ Ack. > > > > > diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c > > index 3a695b8a1e3c..d5eb47dcdacb 100644 > > --- a/arch/s390/mm/gmap.c > > +++ b/arch/s390/mm/gmap.c > > @@ -2587,14 +2587,17 @@ int gmap_mark_unmergeable(void) > > { > > struct mm_struct *mm = current->mm; > > struct vm_area_struct *vma; > > + unsigned long vm_flags; > > int ret; > > VMA_ITERATOR(vmi, mm, 0); > > > > for_each_vma(vmi, vma) { > > + vm_flags = vma->vm_flags; > > ret = ksm_madvise(vma, vma->vm_start, vma->vm_end, > > - MADV_UNMERGEABLE, &vma->vm_flags); > > + MADV_UNMERGEABLE, &vm_flags); > > if (ret) > > return ret; > > + reset_vm_flags(vma, vm_flags); > > Same. > > Not necessary as such as there are few users of ksm_madvise and I doubt > it'll introduce new surprises. > > With or without the comment; > > Acked-by: Mel Gorman Thanks! > > -- > Mel Gorman > SUSE Labs