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 181F8D12D51 for ; Mon, 11 Nov 2024 15:05:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F6C96B0085; Mon, 11 Nov 2024 10:05:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A76B6B0088; Mon, 11 Nov 2024 10:05:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 679BF6B0089; Mon, 11 Nov 2024 10:05:27 -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 48A8B6B0085 for ; Mon, 11 Nov 2024 10:05:27 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D8321410D8 for ; Mon, 11 Nov 2024 15:05:26 +0000 (UTC) X-FDA: 82774137432.02.70F916F Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) by imf29.hostedemail.com (Postfix) with ESMTP id D244C12001D for ; Mon, 11 Nov 2024 15:04:29 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=PhbZ+YmZ; spf=pass (imf29.hostedemail.com: domain of axboe@kernel.dk designates 209.85.167.181 as permitted sender) smtp.mailfrom=axboe@kernel.dk; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731337333; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FANAFwLPA6uDqavKV1Ik7k6rIhcZlXUpeawJn43pCcQ=; b=hlJAAslRTwDMBY0MqJJVU7hm4UH/XTCRashECLb8FPn7y6/+9AjH3MEPZZbjJNZN+tWpG6 /aKGiWvXpsNeIhsPMUzr5boSTIOHEsBDieqjzAF1Rp7v7tVi/zV89qeIshqCMaEykk/NBP MqiQ/DiOnzDUGy6hQuI+PStPjlMdwU0= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=kernel-dk.20230601.gappssmtp.com header.s=20230601 header.b=PhbZ+YmZ; spf=pass (imf29.hostedemail.com: domain of axboe@kernel.dk designates 209.85.167.181 as permitted sender) smtp.mailfrom=axboe@kernel.dk; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731337333; a=rsa-sha256; cv=none; b=mRuiNXu66kMSOe6D6g++Ddqc3JrfsgP6+XY1Py66BvqdMGEY9rydp/6PLgGt04RKBKU8j6 uNUZ8A1D6DEK/Py/sPqXwNkmeSOpSeLWwNgLSpcbGn8TyR/3Nl4v6DEmHa1YFLYutjpxuw NLRtZihFD2yEISSPV0S6+M0h26abvFA= Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-3e5fee32e76so2011253b6e.1 for ; Mon, 11 Nov 2024 07:05:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1731337523; x=1731942323; darn=kvack.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=FANAFwLPA6uDqavKV1Ik7k6rIhcZlXUpeawJn43pCcQ=; b=PhbZ+YmZB24/KYa0hDy+5A3HUzianr6BRxQ+BsdRGaxlSzO4pC57d0kZ8aW8a7IfG5 xFiQUZpWES9/idtcDvhjJhq8tZeDx9azQT7yO5AQd4162LqGZ90cSMCcMhR5lNP6gtQp Q6GmxkTWYDuNTzh+kL2k0li3ThQFlt580njxgwtF2Vv5/0Ood6JsDvtIY8si08zwvzdE /UI2htJs5LcIDazMtf6O0eJiZ0AqBHKpuK8WN5zkPpU6REZ6YGXC/AsLvNiuX8lT3xoB fMWzX5n7bclswMiprpnDfT3M15dQor3vUt5JNHEqcQFx1HuMdur/2VZ04EH93qJ3QtmD tl0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731337523; x=1731942323; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FANAFwLPA6uDqavKV1Ik7k6rIhcZlXUpeawJn43pCcQ=; b=UhAACMdspenmd07wvS4gKH5n4drKx/0y0fCS30nLp8IHZhfCWiA8IN+v/lHwuRahsX CPCkOcO6LZvKeFj0i8TD3wTQ1gk+FGJf2SYWebZmnHMviN+FviUGXu0NEZhm0HPrNYL5 DwpQIadJMqD2JD27A4XT2VvIt6zXsxOrAbCJTn3vlKcoKaLbJR4a7KuXonoPtPU0GDv+ bFBp7WEG5txpsxCZlqL6caT/OvLajTqrcIVnX/tZqZ9GL+K32NJo17No54TmPxbQPDuK H3HDXdNpF42E5rqQt4sTxWoVABPgy1Vp8yN87nDIkaTQ5cUg2I7dNxhDuSCgkpc5jdl3 DiPw== X-Forwarded-Encrypted: i=1; AJvYcCU3ilt4UZ3ZMEkUD+0y+VSlYxhKYug3NBkt9gLsjkPyMBTFLZ/j0RNcYDTJ9hAl9ly9Wet4amu1FQ==@kvack.org X-Gm-Message-State: AOJu0YyokUZe1Un6nUCB9HJo5cU71BbI3t1f6WRCKiV5MKzFQ74AvBYh RX3OKNWyKWnn0fMohDdNJ6hy07g0HlrXhzmvINoug3Rl+mRKRvWRpH4Ry9pzHBQ= X-Google-Smtp-Source: AGHT+IF4w0LezImfqUcdRk269iIRvUC3rDvyBtvyPDo1aUTBP1jSwl4AHjLVgkaGbGSvT/MFoIohTQ== X-Received: by 2002:a05:6808:1919:b0:3e6:ccc:2d91 with SMTP id 5614622812f47-3e794721891mr10371106b6e.29.1731337523644; Mon, 11 Nov 2024 07:05:23 -0800 (PST) Received: from [192.168.1.116] ([96.43.243.2]) by smtp.gmail.com with ESMTPSA id 5614622812f47-3e78ccb845csm2096711b6e.28.2024.11.11.07.05.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 Nov 2024 07:05:22 -0800 (PST) Message-ID: <76edefe6-fb20-4169-8cbe-d8b864b04c7a@kernel.dk> Date: Mon, 11 Nov 2024 08:05:21 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCHSET v4] Uncached buffered IO From: Jens Axboe To: Stefan Metzmacher , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Cc: hannes@cmpxchg.org, clm@meta.com, linux-kernel@vger.kernel.org References: <20241108174505.1214230-1-axboe@kernel.dk> <63af3bba-c824-4b2c-a670-6329eeb232aa@samba.org> <00c51f80-7033-44a0-b007-ca36842e35a5@kernel.dk> Content-Language: en-US In-Reply-To: <00c51f80-7033-44a0-b007-ca36842e35a5@kernel.dk> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: D244C12001D X-Stat-Signature: jtkan5xe1f134nzsggtmsdamg1znpyqo X-Rspam-User: X-HE-Tag: 1731337469-665419 X-HE-Meta: U2FsdGVkX1/z7U4Lnq63aAvaumFmy/2GCoSD7KsQ40sg2AT+ECcXYjk99A0yClTzNuzZ3+1DrFT3xdW1S0ZPVZQO1oJCcv2Pf5w52COhzySKe0TGqdWoke9kf5LpSfcW1RaDkwJlc1e2yHbdAT5xKveTKhET4y4ZN1STSXI2dnUGNliW3p929OiGoOSwXNDsVsxmDDe4epFm3GvNuoyK4WX/IG6X5frCbR1KgTGiU1yl/JaqotcW9YRaVwBNH8+/gGApB9/OtXPnZ4Tg1Ags/HT76EkEd+eMJMju+QIcLi+s7cllqMs8u5KfvLLyUOo1Tz51uVApc5u3LIPlomDJJCnp15aErTo3A10jwy5/1hd1JuQI/VJ4xpTT4O5WhCLepUN07a29hPArwxXUimBtEQY2RAEjyqaMKnK8q6/4Hxj1B1matkT0TnJcEx0l0hDkiCldk/CwcRzX+9jB19hqQHb09VuoOl3qMv9nlT7p/Ctp8EFeffPPZEzVPT+I26Sr34ilOMmDBQaH6Tw+TonVPZhYdqRGOdO0Ztrg+2uv3LdMb69W9eUAmoogQEgrBH2SapO0cRQnaGHoYLzX5Ec5T8ZBZ4OlaESFjKUQwDtZXnYXpo4nAo7meKkWC0+uIVtciGOQJRE5DltFV0UhzXgw0/lFTt7JH0PzMc+LI1xjb57A9P/QqyKO90OBy6JbKk6LQNPmB/FEX1zlfvpvcA62hN8ldYGGbFkr1XDHdUI95t3vRhxpfGk/fvqtKIFRnF0XmFqiuER4OwBn7Oo9WU4wkFdXCzM+bgtzsIQezAcnwZT85rLFAw91ljH8zB5x9EiT5nrbZMpt2S0j9hRwITMeuAkyCFMRRfO2jHt6Kn0aIHkwkcMKwD3VWTTu1fPHUb3mxuqpjO86yEz6/TIFNyP0gwS0DaUe7HDgr5bFmYW86zmIBuga0VtveA/kJsbq8tPcEkqXFbGLxVRoqKXYjNJ FTK9ZnRZ O7TVMbPPl0iqaJtHRwFmdamXQ78AL5UjNmFyURI0IR0acR4u/2yyNrZKqHINfTkEYw4Kw0LiC4YdlrAobI/JT4kaBnHImOlWcVupBDbV90hLTJ/JSN6b1EQK+V9i14xUhBivNljL8HNy+rkunoIvPYc44+w9gSSsZC/2qvm+TIWGa5SRwFvdr6gF0NUp794eqDb1nUCmpJx7a7BI3uLjOxYI7qKLJ09NBzvuvwnH0E/CoqNb0mG6gv8CW+im6JW2TzZ/o8gpizrbsp+c/IO7My6y6InveyRhCPWJcATdO2uMk3BywWQJDLvQFIXi0uk57a7z9GLHuD62GKHROdR3DjzIqMpU9Dsd/we7m X-Bogosity: Ham, tests=bogofilter, spamicity=0.000054, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 11/11/24 7:08 AM, Jens Axboe wrote: > On 11/11/24 5:55 AM, Stefan Metzmacher wrote: >> Hi Jens, >> >> I'm wondering about the impact on memory mapped files. >> >> Let's say one (or more) process(es) called mmap on a file in order to >> use the content of the file as persistent shared memory. >> As far as I understand pages from the page cache are used for this. >> >> Now another process uses RWF_UNCACHED for a read of the same file. >> What happens if the pages are removed from the page cache? >> Or is the removal deferred based on some refcount? > > For mmap, if a given page isn't in page cache, it'll get faulted in. > Should be fine to have mmap and uncached IO co-exist. If an uncached > read IO instantiates a page, it'll get reaped when the data has been > copied. If an uncached IO hits an already existing page (eg mmap faulted > it in), then it won't get touched. Same thing happens with mixing > buffered and uncached IO. The latter will only reap parts it > instantiated to satisfy the operation. That doesn't matter in terms of > data integrity, only in terms of the policy of uncached leaving things > alone it didn't create to satisfy the operation. > > This is really no different than say using mmap and evicting pages, they > will just get faulted in if needed. Turns out that was nonsense, as per Kiril's comments on the other thread. For pages that are actually mapped, we'll have to skip the invalidation as it's not safe to do so. -- Jens Axboe