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 0EFE8E7719A for ; Sat, 11 Jan 2025 17:12:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 843656B0088; Sat, 11 Jan 2025 12:12:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F3896B0089; Sat, 11 Jan 2025 12:12:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6BAED6B008C; Sat, 11 Jan 2025 12:12:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4F4486B0088 for ; Sat, 11 Jan 2025 12:12:07 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 022271C849D for ; Sat, 11 Jan 2025 17:12:06 +0000 (UTC) X-FDA: 82995813894.13.13DA1E9 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) by imf05.hostedemail.com (Postfix) with ESMTP id 29220100002 for ; Sat, 11 Jan 2025 17:12:05 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pp+Gwp4x; spf=pass (imf05.hostedemail.com: domain of surenb@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736615525; a=rsa-sha256; cv=none; b=rcJhFK7bpFYstbNdB/MkU6Po5rgaeMeijQ9OtJj8IeVQ/JQdo5sFnuW1O5wkrX+VFjicn2 IXiKwhC3IM6IVyloFhOYuOyns76RWOXgT0qNFfC6D3eyWUZdvibHuXZ/tlCazw/34wCT7c UA39b0qtglZqlfgarNNtPhMGcUzjAuw= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pp+Gwp4x; spf=pass (imf05.hostedemail.com: domain of surenb@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736615525; 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=/4Barjcv45qg54voHBQ+EOa+0+S54bwMOoOdufjLvO0=; b=Xb8U/STAdPOpdIksOr8P6itMtW0cXmhDlFdl1nCXEN7iDOJG3vWWTPiIIHeE1sG4Yyoog2 ryzVrN0hU6oWlRe2GzqA2ef4jf3Kv1CKihYXm0Z/wH+Cy1ybHx4Tn00f1EoS0mvxaa5MJi /7++OyWrbqwpZ+x7OmCyzmHXXXZlTRg= Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-4678c9310afso60281cf.1 for ; Sat, 11 Jan 2025 09:12:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1736615524; x=1737220324; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=/4Barjcv45qg54voHBQ+EOa+0+S54bwMOoOdufjLvO0=; b=pp+Gwp4xTP2jJULKKVVFKkoGzGG7zy5+As7csKwA/97a5ITnQj/OrxmEUKStLtSAQa ZiaMt4jQld1kT7znDhOar7cjBFmmRoovnfYmnaY9PfEOVbu0lmT7unKxLxuduhPCpUla BoIour8VR6fZ2hFx0pZTQzzCCVEtgMoHjccHHwm8tqqgGoYXhuk608LiMSbut5fWDzJF i40Be0sw3Btt2oOQcBtj4l1mUM9LkWBau7OZ5LFEkN71MeGaNTEA29sWpzCbgtMUUZFt AY+6GhDIeVq8rUTFMo/EQIGuHUFznO7kLB4ty4APZYv5PHHFhdrymMvEmDUYOd+3z1cH G0og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736615524; x=1737220324; h=content-transfer-encoding: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=/4Barjcv45qg54voHBQ+EOa+0+S54bwMOoOdufjLvO0=; b=kFRQMZ1IZ0iSIL5UUCB4jo7b7vM/qYKm7JJXN0PrTmjM0+yHAy5MZT3DuEEVCdTzmZ GP2unpwAZJZgsZY34Ao2jW3kIIJyfchj2Pnp9xsfOhICKvJqzu3rH7Tq14LQGIzlt+ln Z+GcZTwoB78HKpd9SDXV+pjm8aGTTkxA7uk6CDkJfE4XVBsYjJyQIasZpUr6vVeow54H C1wCaGGlA8NsZWP15wNbqcHjfcHrkG0rg10DmND8cr+E23QQniQo/NJcYuLQUj5hfx9L bz1XMWTtN1hzfXxQpMFXPctV4BNA0hyS951Lav+lAc8pzKi3sjAoopIvuwN3CldkAu5S Y6Mw== X-Forwarded-Encrypted: i=1; AJvYcCXoJuvLO07u24YbkcVajLk750aotCt2T0zDuw3eE72p+vCvSYksrF2V0quMTjvDIti3qC5/6HO59w==@kvack.org X-Gm-Message-State: AOJu0YwthcB8neActI5WOuyfwZOSucFkI0KTURRqWRFhKZ/K/fkKSGE2 gpfbadfzo1vTqP+NBK8A+sVZWckSoEOrqEu53DPgINEe60ZAIIkEhiQ/Lr3TXz/yssPaDGuGYU/ g21SJxd6MJH+bnff3sYmdh2ciSejw6bC9Q1xw X-Gm-Gg: ASbGncsBcrBNqblsKY7KBDIJZwkjw0YyfC6/B6iS3tXSAIFYT+tjVrtAxgevoIQYThN Bh6rsT6CfSm3GLFtk3jSBEHncA/DscR/bSWD4LA== X-Google-Smtp-Source: AGHT+IE/0md01m++Wl+tq95Qfjgb8wNUph/tZF88L/qjCJurq9yOmiRaLnLniH2KESxj5wIoVBLsKaONCDlUPqA96Hg= X-Received: by 2002:ac8:5f0b:0:b0:467:84a1:df08 with SMTP id d75a77b69052e-46c89df3ccamr6104311cf.23.1736615523839; Sat, 11 Jan 2025 09:12:03 -0800 (PST) MIME-Version: 1.0 References: <20250111042604.3230628-1-surenb@google.com> <20250111042604.3230628-11-surenb@google.com> <20250111063152.1638-1-hdanton@sina.com> <20250111121320.1656-1-hdanton@sina.com> In-Reply-To: <20250111121320.1656-1-hdanton@sina.com> From: Suren Baghdasaryan Date: Sat, 11 Jan 2025 09:11:52 -0800 X-Gm-Features: AbW1kvbxfeqtWJ6G-ju2Nzkj-v5GZw5s8EhzzvwpWFHxkqpJ7nz7Jw58ZB04o8w Message-ID: Subject: Re: [PATCH v9 10/17] refcount: introduce __refcount_{add|inc}_not_zero_limited To: Hillf Danton Cc: akpm@linux-foundation.org, peterz@infradead.org, willy@infradead.org, hannes@cmpxchg.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 29220100002 X-Stat-Signature: y3nwm7e3a3t4oecm79xzjfmyh8pxhdzn X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1736615524-679248 X-HE-Meta: U2FsdGVkX1/XDTOa7X/FZiJnrZEUqDnewqfspTyAzDYe0lnfx7iEKmKXt66qD/ltowOwGhNn/2/0h8gEBCPLNDHeQhbRmZCyvtEvsCVDkceh9VUCaMv7i4PDHIuFf3YBzouU9vD05lMv/kxxLRysyAsD6pt42a1rT0wwDPT5ujZXddwLWnhk7qqZNlU9mHTdWJo4cF6EN/Ut1rB+BH3k7fmKFAUv9a80f7DtG3thLke3mnyNrVV/Du5TPErtjmkS4AwUsfGlQFrAkbgM/pEetetC4ovMcnIDyKFQYiZWcqWWiR3L2hDVJNrIrHyQ//T1lgTq8XZaUyISZ40N2Cga3H6vhGoZOSsZui6Utyfz6O7/e1+2Ygq6k7jb4Cs2HjVZh2iAsAZMIRACxdxSR9kjQOphFJQ4GjTbuLyvUp8zycOd5S4EWJ08Unh5OdB9HVprq5lgaAdkSpaJBxbZwuo5ILx6XtgvNQdllKd7Z7ixE/lvuolnE7Rh+5bxPWbL2m8+m0ZE1pnGxy2IptyACfZ6RqXPSQCa0wKB8Ary+6pl3XhsnBVbxFxTnRik/exUQjgGgmHNydQaeWuBQ8G9SGGBYED3wqnYlxwRb5m/jQuE8Fvf7XNkLWAfyQhyxhSPXkR6vTqnD/0CdZA2QwVFwppWaYx14USty2CLswzVUjHKFm3IPXHiWcvFGkteqlvLYXIrY23LvKi1nqPJBVKaMrD2CfIHRdRH7anLJK1I7y88tVhV666eWVFo4WKkDbyYXAMML9T8lUZQzypH1zK4iN6Og7PkZ8VcdimO+oSNMCvltcHu/F9skRjDN5JhEzEzDLIPxrUNwiLMyQfzhOJoFPpeRfkbCW1ZI00oJkeCOjzwJpW2R2g3WVBfBGTymAS44ccG02bNx8GhgPF0WTqsdyqc1NtkG/LyEyFFMpRiDYUubqF0bNyD655KoN+4w1EGhZU48Lpz+qh428C244S3Li8 phCYS3iA V29XlEOCDzSoaCXKxExhkhJPDEoxWd/VI3gtKwVJNAfU1x8A/S82gBo6WzTDx7OGtAnkpvv8ieSdFD1aSUoRnGAf1Vpmvz7k+wzuubK5C/+S6OjxbTbwjZOAGxvEHGPp8B+rQna02x6xM4rfR44kbJ/NYlPDdkBVkfLp9SMh25Ids/HUG9zQXOndDq/5yJtOlVmicMY5YqlZyJbKSSfuE/8TtrUMzEhYQCRRK16kwQE21w2kJL5XfPIYpozZOSxii7RjC6RdulG905+hZIPIlnDdk+cWPDQrUkEBDa/3k0llRgC4+SWp/QF87Fg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.026930, 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 Sat, Jan 11, 2025 at 4:13=E2=80=AFAM Hillf Danton wro= te: > > On Sat, 11 Jan 2025 01:59:41 -0800 Suren Baghdasaryan > > On Fri, Jan 10, 2025 at 10:32=E2=80=AFPM Hillf Danton wrote: > > > On Fri, 10 Jan 2025 20:25:57 -0800 Suren Baghdasaryan > > > > -bool __refcount_add_not_zero(int i, refcount_t *r, int *oldp) > > > > +bool __refcount_add_not_zero_limited(int i, refcount_t *r, int *ol= dp, > > > > + int limit) > > > > { > > > > int old =3D refcount_read(r); > > > > > > > > do { > > > > if (!old) > > > > break; > > > > + > > > > + if (statically_true(limit =3D=3D INT_MAX)) > > > > + continue; > > > > + > > > > + if (i > limit - old) { > > > > + if (oldp) > > > > + *oldp =3D old; > > > > + return false; > > > > + } > > > > } while (!atomic_try_cmpxchg_relaxed(&r->refs, &old, old + i)= ); > > > > > > The acquire version should be used, see atomic_long_try_cmpxchg_acqui= re() > > > in kernel/locking/rwsem.c. > > > > This is how __refcount_add_not_zero() is already implemented and I'm > > only adding support for a limit. If you think it's implemented wrong > > then IMHO it should be fixed separately. > > > Two different things - refcount has nothing to do with locking at the > first place, while what you are adding to the mm directory is something > that replaces rwsem, so from the locking POV you have to mark the > boundaries of the locking section. I see your point. I think it's a strong argument to use atomic directly instead of refcount for this locking. I'll try that and see how it looks. Thanks for the feedback! > > To unsubscribe from this group and stop receiving emails from it, send an= email to kernel-team+unsubscribe@android.com. >