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 DF324C61DA3 for ; Tue, 21 Feb 2023 17:47:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 31DCA6B0071; Tue, 21 Feb 2023 12:47:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2CDD76B0072; Tue, 21 Feb 2023 12:47:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1BCD36B0073; Tue, 21 Feb 2023 12:47:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0D39C6B0071 for ; Tue, 21 Feb 2023 12:47:28 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id DCB151C459A for ; Tue, 21 Feb 2023 17:47:27 +0000 (UTC) X-FDA: 80492030934.01.F19456F Received: from out-20.mta0.migadu.com (out-20.mta0.migadu.com [91.218.175.20]) by imf27.hostedemail.com (Postfix) with ESMTP id E6E2440009 for ; Tue, 21 Feb 2023 17:47:24 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=tGJQqG2S; spf=pass (imf27.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.20 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677001645; 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=z9Vle9DIVimy94+UNgGowfW4NEcOWHtMED9QUramsCw=; b=xMhmxLt6OWqdyAsdaAWPNd8ekjcYsXT0aRu9ASvQhaFhea9VTqszQB9KQtoONMcy5rIK91 11HEO7GNgAXq6Yank9w8IJepSLxwDYTjJWcGlBR6Kzaf3loaVuWsN0lIm1iqotRoGAK+hR cZdqPdymuQMx2AqAwXNY5yY0GE+XFsg= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=tGJQqG2S; spf=pass (imf27.hostedemail.com: domain of roman.gushchin@linux.dev designates 91.218.175.20 as permitted sender) smtp.mailfrom=roman.gushchin@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677001645; a=rsa-sha256; cv=none; b=bC/ze54ryEg/6tTYTMSuWEpd9Zm1tlLVwJczjHaK3sJQetzRYrdkrTmEtKJZJyC4uWOY4c tHwgehSpB/E8nJLVVFZRZrhuQD1Ewf7YRfUVXIOwFIWHGlWQ1hKM9fz82+UPATM1P7WGwD mrw2koCoZCjJFduIVmX5NHKKozOq2Ao= Date: Tue, 21 Feb 2023 09:47:05 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1677001642; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=z9Vle9DIVimy94+UNgGowfW4NEcOWHtMED9QUramsCw=; b=tGJQqG2SnvFiAeIRPoeutMXJ8iZZtSxdJyku+xpxaxa3+Dvk2zq/YT7AMOnbj3PvaMVaXy ifTNdgxKhi/ObJVbavXqJsmPBJKDW6C1p0zbbIQPbpBYy9Z9dPsMuBJP2UunxLKJh8myrw MH2cdrdcc1F8cKP3K+ah8r2/B03ZsRc= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Roman Gushchin To: Matthew Wilcox Cc: Shakeel Butt , Yue Zhao , linux-mm@kvack.org, akpm@linux-foundation.org, hannes@cmpxchg.org, mhocko@kernel.org, muchun.song@linux.dev, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: change memcg->oom_group access with atomic operations Message-ID: References: <20230220230624.lkobqeagycx7bi7p@google.com> <6563189C-7765-4FFA-A8F2-A5CC4860A1EF@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: E6E2440009 X-Stat-Signature: ojyht6popm4qcekph45pe63y5zqg4q7h X-Rspam-User: X-HE-Tag: 1677001644-980485 X-HE-Meta: U2FsdGVkX1/dwHpeCgL/drN8bbs1bootPKAJGU5ypHgpyoZcuSTNhfdA04qKWzSKqcvz5RlmNSxQLXCd7/EDe7ClNYMoxp6kk7Fzu98ywiJzmh7jvO7kcqTL1Qr4l7GZJ9xPrEPuxS7tJmtzJEBHsCx9lzai2bVoVCvqZiHut9h0lpYOgtfZluCN2mgphTnpGNTs5SFIzMpsRFu5w+x00mqA/nIh5s5ro+PPy8VU03mYRujaKz68S9GaX6eS7cmSNU6FF4Tt/1YbzQBUm2Z/aiATrZtBaGg4EbECnwdpiWfBuVruvTi3bbaSi6CooH5/IDYj4qKGtGbrymSzajPxFNriQiux53hDNJnZS6zk/unBXSPcFK45GPohJDOe4a39ELT/n6UkgcCEU8GMZLBT52TqBfEtNwv544UALqqsTuqRO5+2vMLt7IJ5aaQKd/OEg3vmj6cYLgrcs9Qhk00POIJ1fTCDxTCkSswUInQ4/o2YyirSsy/pMONg5XHp/Hh/Jzh2LCgUYIwdaYx8j6nAb13rozqNgDoA56DlLEY97d9Ya/zJShiLaaIbubXZoVWTJOJkSoQkSjBKjgm322rfqU1a0Af3aVwWHaS3uTL7GXf81rk0UdQu+in9hO4NahmoK+G3Sk2eMMQQVx5udgN9itz4kf/zaGkBpOetAQv7G/0Q8nGJL2dpLrO0PaYnJeJaBvqGN2pyHip7D9qiRNjjHZYCYcr9qWLufs72XAqsxbpWLCvWAvZQDnOyu1cgfrSLoWOKOa0SWOUdDS+jNVfscS5mjGfRrnQLpbySdQ7gGWk5nFUfBHivyZ05jmRRX1FKWBi5xGbqru7j+kBvV0BCXzP2IuB3DnrRHYSAs59e8cz2ju7PxXoalD36zt3DNM44BSP1JUYod78de1KXjNfMJS3ShH8IGBpZGIC7GLSRA1OT8PIhky6rIL6A40vQJgk3XcahUZMfz741whD9PYP m7KyMsv+ 5cFL3CQHUKmwgBr65+3DO6Ba/IhGRWJJm7XcGHOWyGI4m5ufKOj2r94N09CI6H+d/xuEbHShDD5BqzmGzwOZu7dGj4EXn5Tf/YO65QT5IFK0DQCGRpjGr2bqKZ/JBjQVMypE46Yiao8a37tZdJZPnvXMDsmuAkI2K81NaSQa70UPCNQnf6pec+h9XXcHqaU4K8Hn/P+blRN83AJvwuP7yxvLouc0Qe3kptNmy35IRWvvMIPlbBmiMGbSNrGHwED/jS/l3 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 Tue, Feb 21, 2023 at 01:51:29PM +0000, Matthew Wilcox wrote: > On Mon, Feb 20, 2023 at 10:52:10PM -0800, Shakeel Butt wrote: > > On Mon, Feb 20, 2023 at 9:17 PM Roman Gushchin wrote: > > > > On Feb 20, 2023, at 3:06 PM, Shakeel Butt wrote: > > > > > > > > On Mon, Feb 20, 2023 at 01:09:44PM -0800, Roman Gushchin wrote: > > > >>> On Mon, Feb 20, 2023 at 11:16:38PM +0800, Yue Zhao wrote: > > > >>> The knob for cgroup v2 memory controller: memory.oom.group > > > >>> will be read and written simultaneously by user space > > > >>> programs, thus we'd better change memcg->oom_group access > > > >>> with atomic operations to avoid concurrency problems. > > > >>> > > > >>> Signed-off-by: Yue Zhao > > > >> > > > >> Hi Yue! > > > >> > > > >> I'm curious, have any seen any real issues which your patch is solving? > > > >> Can you, please, provide a bit more details. > > > >> > > > > > > > > IMHO such details are not needed. oom_group is being accessed > > > > concurrently and one of them can be a write access. At least > > > > READ_ONCE/WRITE_ONCE is needed here. > > > > > > Needed for what? > > > > For this particular case, documenting such an access. Though I don't > > think there are any architectures which may tear a one byte read/write > > and merging/refetching is not an issue for this. > > Wouldn't a compiler be within its rights to implement a one byte store as: > > load-word > modify-byte-in-word > store-word > > and if this is a lockless store to a word which has an adjacent byte also > being modified by another CPU, one of those CPUs can lose its store? > And WRITE_ONCE would prevent the compiler from implementing the store > in that way. Even then it's not an issue in this case, as we end up with either 0 or 1, I don't see how we can screw things up here. Thanks!