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 6D7B3C636CC for ; Thu, 16 Feb 2023 23:07:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A4BF56B0071; Thu, 16 Feb 2023 18:07:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9FAD46B0075; Thu, 16 Feb 2023 18:07:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8C2E66B0078; Thu, 16 Feb 2023 18:07:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 7CA2A6B0071 for ; Thu, 16 Feb 2023 18:07:32 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 47CAD80C28 for ; Thu, 16 Feb 2023 23:07:32 +0000 (UTC) X-FDA: 80474693544.09.B2A1FE3 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 3F0D9C0002 for ; Thu, 16 Feb 2023 23:07:30 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Fyz+AU23; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676588850; 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=U1i355zZnPAPOV+7l8sV2CTmBt7VeakOe3eIo5ILPXc=; b=4+tUY3Duwn1Uc9UiLcJZlt8u5zHVUHIJlL/Q2VEjel04LwU4MY2wecSwFUsMv4kZldzDGu HUBHGJ/Obj9tjj7lyj1roXo44Sh5PhhutQKEWmBwnpKapQ0QLl1KhuJDCaRjv9sLA03yEs l5sK5cEw5Kfoc+CR4StFeANw/mQ0FKM= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Fyz+AU23; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676588850; a=rsa-sha256; cv=none; b=nWMmhGVCdYfk0epl06pRGPGyH4y80jKezuEt5Up/TKwe9fTWAH27E61x9TD66pJ9AxIe9l nnWMTEVOhHpRdUt8z0Pn9vtNFWsEeEhUAy18pOTo5MQKR/rvLsIYKQThq2FMdB4eU7unqC sP2frBSN5lggjW2zcq39RSlFyaws6G8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676588849; 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=U1i355zZnPAPOV+7l8sV2CTmBt7VeakOe3eIo5ILPXc=; b=Fyz+AU23YmgWSxW+L7pwdSAh5+jWwFJGQh9Bw019v4dY4wLjr/tJqhfZzWzTYOaotkYpZY sbxtUVfSDTd5oIjFdJnJwqGUgh3+4g5E8xHzBNQ+IP8w8sO9WqSJWGAqg/wk2lrSWXDw3N q2iM2SldvlOLSNEMcFf7ldwuBrge93o= Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-348-v5-eqXNlOj6Y58_rgqWUYw-1; Thu, 16 Feb 2023 18:07:28 -0500 X-MC-Unique: v5-eqXNlOj6Y58_rgqWUYw-1 Received: by mail-qt1-f199.google.com with SMTP id bs11-20020ac86f0b000000b003b9b4ec27c4so2092280qtb.19 for ; Thu, 16 Feb 2023 15:07:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=U1i355zZnPAPOV+7l8sV2CTmBt7VeakOe3eIo5ILPXc=; b=GafYtDALNnxEZg/yDfwAzfF0kTU3u4H4+rr7VlLcmhIvxwYISoLP5KyWgIMxkBzbMb ZuhE/MY7spzazG0JgimKlozxe72BewhVCzrfTvJDqZ5+h0u4j8KtylfAie3ag/GDGmma qkIglSn/vtTag+25QFatiuXSJcdW1zsVAGReshTwbGrdvZ58zGrVWDC6VqwMLz0mumcE Un1gSDGTwbjzHoe6KK2Z1mfy1V9OMv/aiCdBUJio9ToDzwJvGz1WYPF3sAdoO/xXWtZ0 4ayEnY3sUFZr+X1OuMZpTOZRqI7QR32n+ggkS1yTbl8GS+ono0eoKFUToMkuat9QsNs7 foMQ== X-Gm-Message-State: AO0yUKUfd/Bs4lw9ctd7Hm4R/SCNEwK/MM7vliwU9StHIV2uOpCdD66s 4rcmLVijgTNVSjHMyHQyHg8RCGLlXnCuKZ1QVaOmf1sNcXI1FfEn/nbo6l1ORYD+um+1heoQZzy MHiVMgHnOo0w= X-Received: by 2002:a05:622a:110a:b0:3bd:d8f:2da9 with SMTP id e10-20020a05622a110a00b003bd0d8f2da9mr5554080qty.2.1676588847928; Thu, 16 Feb 2023 15:07:27 -0800 (PST) X-Google-Smtp-Source: AK7set8TDXBD8/ctrYlut9+45E6qFFpg/9ja49qyzef3+g8lBYY5BB+I0S1SlMPM9d6OMKBy+cv3Hg== X-Received: by 2002:a05:622a:110a:b0:3bd:d8f:2da9 with SMTP id e10-20020a05622a110a00b003bd0d8f2da9mr5554050qty.2.1676588847668; Thu, 16 Feb 2023 15:07:27 -0800 (PST) Received: from x1n (bras-base-aurron9127w-grc-56-70-30-145-63.dsl.bell.ca. [70.30.145.63]) by smtp.gmail.com with ESMTPSA id 207-20020a3708d8000000b0071de2b6d439sm2142783qki.49.2023.02.16.15.07.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Feb 2023 15:07:27 -0800 (PST) Date: Thu, 16 Feb 2023 18:07:25 -0500 From: Peter Xu To: Yang Shi Cc: David Stevens , linux-mm@kvack.org, Matthew Wilcox , Andrew Morton , "Kirill A . Shutemov" , David Hildenbrand , Hugh Dickins , linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] mm/khugepaged: skip shmem with userfaultfd Message-ID: References: <20230214075710.2401855-1-stevensd@google.com> <20230214075710.2401855-2-stevensd@google.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: 3F0D9C0002 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 855y57j1f7m6dygnsyd1wgehz44od1ki X-HE-Tag: 1676588850-791693 X-HE-Meta: U2FsdGVkX1/ZWYIFE4xhhD4ict6vzmAu3KfZjwQqooRUKEVohd8tehJyk2zOoDROLik98NTZe0F9FcOW6S9UzE7tJfUWQgd1fhV3cCdBx7uVM4j/0eeuqR4w+O8O5aCUcBNhivDFEkbSeCrn52FdqpWEPoYEv6EHz6P2GIoZKXiR0XlTDsbtKOsIVkVeNpTt2qb/5rBdPyL2nQoFDcnQv+G2TgORGvKTu421xkfMD4N9W/5sN2TQvg7UN42p/w1FLv+3XDEpxvuQKhVEemp5ZvQwfzv2YhaLmQzzy/barumfsGiVo6ph/UwVV/c00/kskmKnz1uMNANrLxbDfX/xuUMqxRibSHRdBhJS6UJ2RGFHlkO/SYmfhfYi4W7U75CCj1VNlFLfGYExzTAqEmZPh6FV8le1b8W9UAAtpq4WmGVZPhFymLLxEfzFFsdlDffIflrnq8HKnMuriv1twEpXHluyDJkEfzqN9DE9ZLV81aw9I0rqI0u/nwdCWGsjQUzVOC0UjfIOMOSxchg8BnznLkRGOJX2rmywMFhV4TvPry+G2fWohtbZTAvRfJHZeW0erkvnm08y7nONSKgUw/FZgui4ugeDsXIBm3YiHWRTtwjBi61umfQKw5CaRQBKQ01Bk3ZWs6soVJTyAPWKgZMpDYhJgaej/WvnQV99eNrSXoRqmn89d92dGWAopnrmto1zGvJbUMWDPJ5rgA3w1xn3up9g0XbmHl1p5PAk5r2Ov3R95Q319tsgttwujC5iTYKySZg2djQke9WKv689bvG4A/r6Bkw7tvlOapmpWJhQ38JE1LBpnDKG78mIR45cbzX+xDzK6ASul05yld7VDrtZs6h+/5DsvufFNDBCkL9eBJokPGwGdyuuLyAQQnyFNO+VgF3O5cF5siGjePEO4rKReErP6KBrr+t99Gt0GNTS3mwXK0I0oudGlKqUuL6ESoEoL/7H8jOaRkS+ZJwsUTE motWV4bg gn7LHvHhmCDwKMF3vCDc/4/2upKrq1/2CU9yU3xB4e7ixSMgO0uPPwdTO87R6rTpYn1g85ODBQP9Ocag12l0A9LoLaKFKrR3tAfHqRH4fzw1qHkedzKCSANqF6NUU6Jsev63NJDbYV7kdJ3fqnOVnfz4CMXVzACWmBFLd/LgomyquJW343ApqWQhfgJ71u5h/2ghpy6Y5y/EVb/1O4WkGPTS4xMb9ob/8iL81IIWPw3IH4R3mPS93BLLK5slgwThotPpZlCLkIVAMID6fjk0MhGiGToUZVzVpeHn/yWKBmV76AW0WCeTrfwJF7NFn+COMxrYmxLlReDEkUMPA8f2oSqfDX3EZpMb9uKHFMyQ+wCQE5EmNBZC8W7SyOpKoLlp3miZN 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: Hi, Yang, On Thu, Feb 16, 2023 at 01:58:55PM -0800, Yang Shi wrote: > > IIUC we released it before copying the pages: > > The huge page is locked until the copy is done. It should be fine > unless the users inspect the page content without acquiring page lock. The current patch from David has replaced "insert hpage into holes" with "insert RETRY entries into holes", so IMHO the hpage is not visible at all when releasing page cache lock here. All the accessors (including RCU protected ones to access page cache; those may not need to take the page lock) should be spinning on the RETRY entry, which it seems fine to me. But my question was whether it's legal to keep them spinning even after releasing the page cache lock. Thanks, > > > > > xa_locked: > > xas_unlock_irq(&xas); <-------------------------------- here > > xa_unlocked: > > > > /* > > * If collapse is successful, flush must be done now before copying. > > * If collapse is unsuccessful, does flush actually need to be done? > > * Do it anyway, to clear the state. > > */ > > try_to_unmap_flush(); > > > > Before insertion of the multi-index: > > > > /* Join all the small entries into a single multi-index entry. */ > > xas_set_order(&xas, start, HPAGE_PMD_ORDER); > > xas_store(&xas, hpage); > > > > Thanks, > > > > -- > > Peter Xu > > > -- Peter Xu