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 2B060C46CD2 for ; Wed, 24 Jan 2024 14:22:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A61406B007D; Wed, 24 Jan 2024 09:22:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A11CD6B007E; Wed, 24 Jan 2024 09:22:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 900396B0080; Wed, 24 Jan 2024 09:22:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7DA036B007D for ; Wed, 24 Jan 2024 09:22:08 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 1D0AFC0D26 for ; Wed, 24 Jan 2024 14:22:08 +0000 (UTC) X-FDA: 81714419136.30.53B6A70 Received: from mail-vs1-f41.google.com (mail-vs1-f41.google.com [209.85.217.41]) by imf02.hostedemail.com (Postfix) with ESMTP id 505C580020 for ; Wed, 24 Jan 2024 14:22:06 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=BvGjQd9j; spf=pass (imf02.hostedemail.com: domain of elver@google.com designates 209.85.217.41 as permitted sender) smtp.mailfrom=elver@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=1706106126; 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=y2Ickior11wnkNoXoIh8jyoa5DElGtPsGaiZ6/joupA=; b=BJeE3lU+xR2kn000CQKIiEy6fvFt5hh7TUYgm5xBtPUCbeUPy27alIMzd1KgaBJpR9pbsC xsZq2Lz+c0ZfBUGKNoqbeg/1Appvf45ZiJAr1hKRZ82FOjhBb5mXhnWBUKx1KGTkJsi+T2 Ci4yzHaxScYnKijIA53utvJpdY15pfc= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=BvGjQd9j; spf=pass (imf02.hostedemail.com: domain of elver@google.com designates 209.85.217.41 as permitted sender) smtp.mailfrom=elver@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706106126; a=rsa-sha256; cv=none; b=LFQY3ky+Uw2/34F+rtSLMQ0g6MCC4yBigER+Qmzh56GHSan0jD4EometSeYw3qasMRHb5v o3sEgfnLQ9lTnICdONZgdavei1RcpFI/1K/b3iPXEu9FJK7ZqaORUGcWgMYwwINL8mY2BD eH76Sk9WsI45uZ3xdERNIvxSKEU91kE= Received: by mail-vs1-f41.google.com with SMTP id ada2fe7eead31-4678c4e51a5so1450532137.0 for ; Wed, 24 Jan 2024 06:22:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1706106125; x=1706710925; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=y2Ickior11wnkNoXoIh8jyoa5DElGtPsGaiZ6/joupA=; b=BvGjQd9jRiidxmplO5CsjRS5cYLn7CYsXSCfjFk98BmErSkrath2ZDQWkGaHJDzYXj 0HEIXyBoOCtGstLfN/CGPNgv2UQ0QiXBwceD/l2jfRP394EtmIE+w1ACqTYkzs8vJAHT MlWejrHjJ2MDOjsaCqCfhNbOQTj40WSchkpcO50jJSHSIPRgPv5h9c6xzCGTtGrtytTz 7QkFhzeSV7GH21r0AUcHt7l1fby0O4CLYYVH/Ci2kE2pY6iU0wbaf24mz9ZyL/QrFE5g Vkpd72A2Aiv597QMOSu//slka6qRkab6vXHpoQU9rkwHaVA40QIaUI5hXfPapPM79cfy XAsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706106125; x=1706710925; h=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=y2Ickior11wnkNoXoIh8jyoa5DElGtPsGaiZ6/joupA=; b=hWq/eHlG7J2apL7hQrEbL8+zw0+iQ/BHOJLyNm14mqUc9j9mGUFren/Rh/iZ5XaA4Y oEGrcex7/Zv6dhCIwsnSKv8wQFVLFezmsXl+ut4PeiV7fXywFHkTiSEpIhy4NxRD0mqa dGIWaLgdW9Law0F6GPiaJ6S9Pz2ngKdUlnVVWF1NshKLbxWE9KfzI/43JTCoR4rsq1Hn M+G1tCM1qNbzdZywuR4zRPjqpVzga7xy54TfoYqaD/BtgJ2JFfrfZl0YxIVl6K2yhCH7 koBqB0vvHx4YR9GqnUND/RHPFCjWAcxa6WuY2RbbIbnxB5sLWQFKhbTknR82TIlHPzn2 waUw== X-Gm-Message-State: AOJu0YwYfChtOOckczKOUOwOzXnjsk5qYc8MQNApjnDEnUooCGA6AoiR 4TJJuONHopz7F0dHCibbznov+CiwdiJij/GVO3lXgokFce9vlMQMGOg2W/Qm9G70vebug5KwlbR cGpJGoxxILodvJ7rbJRiUfbTnFSK8gHkPTHI6 X-Google-Smtp-Source: AGHT+IFn937a8xEj05SpiWuUTTV/ZEsI1GUIeimXuL5mw2tMlv9nj8yo84Gldw8XvPU0L31EiOIknjQRZzjdUZlIQmM= X-Received: by 2002:a05:6122:9d:b0:4b6:bfae:3285 with SMTP id r29-20020a056122009d00b004b6bfae3285mr3899127vka.4.1706106125184; Wed, 24 Jan 2024 06:22:05 -0800 (PST) MIME-Version: 1.0 References: <9f81ffcc4bb422ebb6326a65a770bf1918634cbb.1700502145.git.andreyknvl@google.com> In-Reply-To: From: Marco Elver Date: Wed, 24 Jan 2024 15:21:26 +0100 Message-ID: Subject: Re: [PATCH v4 12/22] lib/stackdepot: use read/write lock To: Breno Leitao Cc: andrey.konovalov@linux.dev, Andrew Morton , Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , Vlastimil Babka , kasan-dev@googlegroups.com, Evgenii Stepanov , Oscar Salvador , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrey Konovalov Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 505C580020 X-Rspam-User: X-Stat-Signature: 9rizyrf6sjpdr11qeutay9atkphyuij7 X-Rspamd-Server: rspam01 X-HE-Tag: 1706106126-625024 X-HE-Meta: U2FsdGVkX1/9SoKlqyFDtbU5A7MuDryCawd+EaFKWzffXnuZlrksblGsVFMkotZNW5TaC50ahw2kmvPstNOsRf8+CH1Yjqm0c3KfeVM7iW/2kVNNqHUncuRDps4U7WufQ/E5GRm/yFf6RribwswzhCqIvY0fZE8P5ywBRjAP+773Lqy2tctgV/rj7Wj6vW4Zh5eoxGI5y2kFx4rkeb6oheYEUwqIci6cHD2WiQq5Kw97PT4x6Ew9YvgB7CjnBgve+WJzlp1XR5smegcpp2JRf36SO8EJvq+C/xBTYyC6XDgQqpisFJWuTF1mwIvjrwClWrgQeL+u4MbxoNYFFNySIfzcUo1JDKJkpmFguNB6B0gFC+bGBTdS8xqEnIqGab8PGX8RasQmj6VIyYamPCXqsZRwXuWzaO6icx6SmjNK3ISBuvvSqeiueOoqkv9s2CXa39RMUda6EUNJTsJxhQK7q4N8kSmAIkyr/2GJNbTFEax+IuiadqqgadlMfE4jx1br42Sa1ENFAkT+SjJ29VPdXDu2frA7PUVz0IXos6/MAJTIVtCKeXSZ3Kixm5CkhjFDNRaqTNKr/PRw7fashGKm4KKz5jZl01QsQ3sUaQoj9GSjO/8k8TJ36hiTEMhEIbiowWytEgLNrbPtge0RnNcTUOVGZdKQoiTtTpptso/egzUSIcC7vQcnN2K5Msr/R+41D4QzBkv6cPtwDxOLxesKDXE5npyIgE2HXrrnt5VEMShSOqMLn81SERJD7H0S7RS8TEE4ZQWl9CyvByiFAudECqdFyFuia0T2XDYutyr0olH/yIwsEYt8lk/ZemntXamTn/IH2/VtRJyliSjOLrcThfw8wXXSL8rloLUru//OHmElAMuAnNM5u53GcUg5Uqohkc6ThRVTZ3Y9aJhcKxWo5OSaK5cuyr2ez8FpvyKXOZ2iMriCGfFQ6ptzRpvhWel9mnZ+gcSXSk0fu/1qqPP KQfxpLyJ Y4ryTuMfzLjPsJOsorntUNbuuvzJ5ZeLDsesY8Xs1Nil7ZulyQcgw5RXv0OGe68MpqUM0IJOMpzuV/lNgICWn+SAMHt2xw41+BdQcUKdRGSOQzA+6S6EHbWfLPSNiof1TdASZfvDSRDx8yxEemxWmI/VJba41Uv9viXV4FId8iHJoTttiNc0LOMvYUboI/2eeCx/BhLmurve6367WOp67GGBDSk54PFQ4uetH+UeLrsmeT74ol+ZLDa/HBSqKI3NBxHlwTrXmQvRnP9KvPaZTNbt1Udh80Yzs0nNzaaAinBJAGRMZpE+lVHDbjQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.004000, 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 Wed, 24 Jan 2024 at 15:16, Breno Leitao wrote: > > Hello Andrey, > > On Mon, Nov 20, 2023 at 06:47:10PM +0100, andrey.konovalov@linux.dev wrote: > > From: Andrey Konovalov > > > > Currently, stack depot uses the following locking scheme: > > > > 1. Lock-free accesses when looking up a stack record, which allows to > > have multiple users to look up records in parallel; > > 2. Spinlock for protecting the stack depot pools and the hash table > > when adding a new record. > > > > For implementing the eviction of stack traces from stack depot, the > > lock-free approach is not going to work anymore, as we will need to be > > able to also remove records from the hash table. > > > > Convert the spinlock into a read/write lock, and drop the atomic accesses, > > as they are no longer required. > > > > Looking up stack traces is now protected by the read lock and adding new > > records - by the write lock. One of the following patches will add a new > > function for evicting stack records, which will be protected by the write > > lock as well. > > > > With this change, multiple users can still look up records in parallel. > > > > This is preparatory patch for implementing the eviction of stack records > > from the stack depot. > > I am testing quite recent "debug" kernel (with KASAN, Lockdep, etc > enabled). This kernel is based on > 9f8413c4a66f2fb776d3dc3c9ed20bf435eb305e, and I found the following This version predates this series, as far as I can tell. Can you try linux-next? Thanks, -- Marco