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 032E2C77B7A for ; Wed, 7 Jun 2023 19:13:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 890B96B0072; Wed, 7 Jun 2023 15:13:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 840BF6B0075; Wed, 7 Jun 2023 15:13:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 72F9F8E0001; Wed, 7 Jun 2023 15:13:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 620906B0072 for ; Wed, 7 Jun 2023 15:13:53 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 3D33EA038C for ; Wed, 7 Jun 2023 19:13:53 +0000 (UTC) X-FDA: 80876901546.01.C132C91 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf18.hostedemail.com (Postfix) with ESMTP id DD3071C000B for ; Wed, 7 Jun 2023 19:13:50 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=B36ZxsUj; spf=pass (imf18.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686165231; a=rsa-sha256; cv=none; b=xjcFrbGT+aCjMIUwW9MWohNxhm4nKsTibKNTHnQOvcFWCmfBhslEK7zdOjjFMEIbfHwP3r WWVPOXHyhHNDc/80qtN2bddZXkFvlmOvXOBneDwWrtVZ+0ZiD549jOAZFQuCwwL+FAcZWc d/nEocfr7IwS+NBarK0VxNui+IBxLho= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=B36ZxsUj; spf=pass (imf18.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686165231; 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=8I7kw7AcDs0Cw2p2WeNVFn3l9e0W0IdAowzm/tOL8QA=; b=dwaLLtHtuVnj8zcbR2E6LJnsBXFazI6q5hoKUERk10iLxqR7jTjq9/7StJqw6p43EJm+Sa H4ZuPqDheseQ5HBhA6ffRpoxxJQpPKVsOEY8w+Y1rP/ezC6mNDXLGdcZfVhuuXj3Ti++K4 s6RywP99GPXpwu3vGhB2eOErVqIckVo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1686165230; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=8I7kw7AcDs0Cw2p2WeNVFn3l9e0W0IdAowzm/tOL8QA=; b=B36ZxsUj/sA4OrCScHfrbrJxQjpEx2aHhaIsyltQdqa0Oyjmsyem6gCZL6e9nazUwnAbfU 8cqRGM4AWVTreYkLH0YcvazzQ6br5NMPwA9pstL7UWJPgYASDUXy4SIw3OAOGtmVOl6CSA OH9TJmpFldbRW4YggwmhHAkOoQUcxPs= Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-425-uvsR3e5QNyuVDGEQ7pn2cg-1; Wed, 07 Jun 2023 15:13:48 -0400 X-MC-Unique: uvsR3e5QNyuVDGEQ7pn2cg-1 Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-3f871a1e3f9so6576681cf.0 for ; Wed, 07 Jun 2023 12:13:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686165228; x=1688757228; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8I7kw7AcDs0Cw2p2WeNVFn3l9e0W0IdAowzm/tOL8QA=; b=X0LazwDc6ilD2j/ANutkp12h0NvrD13gdgAYGGRHlBnCM3tf2ICZQsJX1+wb6h7ITj 1MsH2xs7Ah80CoOjjzL7soTFvIcVBOD3MNeVsawJxfBKdTE+rDkb8uXNrpATcNgiPXSD K1mn+cfJ2MIQ0ceBHq3GKwx9OR00WMqUr7pJwjuQiGZetNGbhM6OwpvK3YuRhahojdW2 0AzppYUqO4QMOqd9rnQCY+ha2iaIWle2BHOV3dhT5iBppvb+volcp5QHT3HLgVfGzkad LG8UjUfYpAgEp+gE8KIpreflaYf2pUA7LgCqXaEfOb2o5mOtj9T6lYdxSSNLZ5g/R0zV 7tUg== X-Gm-Message-State: AC+VfDyTZt+VxE0M1CFS1lhe+pnSvpPPW/FH7CtBC0mGc+BGwHlbyN0c xdasRiNa+34+MuisXr8R1nJbpJUMvumPj8ElnD7SRnGxvmbKuxM+7H3HCI6o2VMiVg7SGDmx0WY 1+8MwId/4r/o= X-Received: by 2002:a05:622a:1a1c:b0:3f6:a9e9:1e96 with SMTP id f28-20020a05622a1a1c00b003f6a9e91e96mr3212289qtb.2.1686165228514; Wed, 07 Jun 2023 12:13:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7/sqsSvuqMxrEkC3Wsj0pNky39gd8DkhKY9i1WMP7EtHiMtnjjRkiYQ40C+KjGi7WZTSEUzw== X-Received: by 2002:a05:622a:1a1c:b0:3f6:a9e9:1e96 with SMTP id f28-20020a05622a1a1c00b003f6a9e91e96mr3212275qtb.2.1686165228260; Wed, 07 Jun 2023 12:13:48 -0700 (PDT) Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com. [99.254.144.39]) by smtp.gmail.com with ESMTPSA id 8-20020ac85908000000b003f86c08b3e7sm142954qty.21.2023.06.07.12.13.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jun 2023 12:13:47 -0700 (PDT) Date: Wed, 7 Jun 2023 15:13:46 -0400 From: Peter Xu To: David Stevens Cc: linux-mm@kvack.org, Andrew Morton , Matthew Wilcox , "Kirill A . Shutemov" , Yang Shi , David Hildenbrand , Hugh Dickins , Jiaqi Yan , linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/khugepaged: fix iteration in collapse_file Message-ID: References: <20230607053135.2087354-1-stevensd@google.com> MIME-Version: 1.0 In-Reply-To: <20230607053135.2087354-1-stevensd@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: DD3071C000B X-Stat-Signature: 5ptomi5q9j567nd1six4yrqgf1ofq7bm X-Rspam-User: X-HE-Tag: 1686165230-554749 X-HE-Meta: U2FsdGVkX1+TYs8FlIvU9jLJmDQqdNErFB5L8aUAXXff58Dfad/9IuUHrrM6VYnT6CwGgG1vk0WfmLWkoiMYlsZYdfKMt12NDMYOMLLBVVum+H8FZpxRMK+gm6lnyeJAjsZr7y+UzzlvrpX8HyUGvlc8uXaADG7mcfT6dLi+9yjN/NbLtOKIec6Sy02+PMIGSmLGyAUhHPS5LTOrvzv3hhYZysqGCEryT0I4WQUf7zgiEOOoTk6lqxajKZfIE2eS7cSO95owEwWHZ5L0B6W7C7hRCVJUx25+4A6IMtRXLlWNkTuVm4HoHAFedCVyf4a9hu5cYSrxQUIrMUBKk/hlr3EC2HG5Q2ahKrvjmym4bP6pML47HMdp/ebBpGI88e1nJkz4IoFpUQyL/oDoKNDQRS/iNK0FImg4561pNPt7gUfsxLt9JsQMHBgcHL3Uj36hGSirKMCScy1ffYu9GEuCRxOxxzZNdjNY8E/cdCVq1oFqguhOZwfjBgGXsHOAVzrQCPQqLlRMYezwN5AQ0t92rE6Q08/8sR8TWwNV1U9rf3XnVHEjMovS0odX8cYa1iBKDZOmP4kkSEWuwORiOYK+5+e6MlJOo/YCqsooKxZJDGyZy6k29tUMOEt85GoeEoly7UdqqgqqKK3gbId1jcDGq3kAQlK4N9PV3AU8w/tbCs4aUKqnB4pnWmmZDRK9Cw4L3VBeequqttRqABimzi+0VDDRmLP+g034f5VFK899CqjnACLLQ7A8P2TpnUf1weoX109BWh2xJalf/g5llum1RP3r/Y3BtV1yXCyXNaOb0CmLva0uibxtfKlmVXhyBThwcp/SoSIPyhmc7B7iPMdhOyJfx11m5lztAYrJoHXRROkG41z4E5V39v+mq9EQX5+4H8mOl7jFuuIcqcwDVhaTnGX8pW/NYchYurcqw5oCrGo9rvapgUUW4T+cXWP+LY3mZQPThaZIu1L1QPCh2qO JrUmwfbI i0MQxuygQsx59A7jBXRpb/HkFFQdmQmeqZAmbgoIK5180A0gaoppPgLs9tjV2EzggksPXjHzQNnlfHgEKDNjMshk/pDMF7DN3BAT6nDVgV/2Mgwj4OyG6nA4b0ZuTGXqcKgfWbaUD0rl9DiKMg052iFQXws8jOXUlGD5b49g5w4BQ4tj4xKndXbFYnbSvCtYWpZaiMO9UxJHVkRVLhZ88Bq6EF6tFcGCbkw5PPopd7mcToGtSNokOhW/hj5jq3SUDPah4XkitAIuRoRmGXwedQqlsB8PoHSyAg7C0IvaizP+q2ktwdJOuvo2AEXYEWjUNbutEBnP9Wh4jR5hW2VlJ1R3rFkhMWrZcggwRqpt85YpTOP6HpqoN2muRJBYsdm59xOKIpGOaRTU7g8UiBTCx4AbNS/4G4DsO1XWQ/H42Oukw5+gr2Szg5HxNAy0FSqQcXrTlU54oTQtd5FkO1qUkBrqU9qQkG2U0CBAKpdJUc8dLraWh4srPM8rxEUfYGb1nDFF1EsAQofq8Zss= 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 Wed, Jun 07, 2023 at 02:31:35PM +0900, David Stevens wrote: > From: David Stevens > > Remove an unnecessary call to xas_set(index) when iterating over the > target range in collapse_file. The extra call to xas_set reset the xas > cursor to the top of the tree, causing the xas_next call on the next > iteration to walk the tree to index instead of advancing to index+1. > This returned the same page again, which would cause collapse_file to > fail because the page is already locked. > > This bug was hidden when CONFIG_DEBUG_VM was set. When that config was > used, the xas_load in a subsequent VM_BUG_ON assert would walk xas from > the top of the tree to index, causing the xas_next call on the next loop > iteration to advance the cursor as expected. > > Fixes: a2e17cc2efc7 ("mm/khugepaged: maintain page cache uptodate flag") > Signed-off-by: David Stevens Reviewed-by: Peter Xu -- Peter Xu