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 70C37E77180 for ; Mon, 9 Dec 2024 13:46:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5B5B8D005E; Mon, 9 Dec 2024 08:46:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BE38B8D005F; Mon, 9 Dec 2024 08:46:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A864E8D005E; Mon, 9 Dec 2024 08:46:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 610CB8D005F for ; Mon, 9 Dec 2024 08:46:06 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0AA1A80405 for ; Mon, 9 Dec 2024 13:46:06 +0000 (UTC) X-FDA: 82875543912.11.E433E4C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf07.hostedemail.com (Postfix) with ESMTP id 7677140019 for ; Mon, 9 Dec 2024 13:45:42 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VlYONzTw; spf=pass (imf07.hostedemail.com: domain of gmonaco@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=gmonaco@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733751941; 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=UxiqV3TGm/7Oo6r80N5hopww+gDKBoPqmI5cftRmlZ4=; b=jhqvDVn3Q9b1YjTGAKm3Yc1BpHBH4fpthNH2MxAPo+oxTIS930EcuS1aAnv2o2dXSAB56N YpmgfmcsFc/KRjYPLcyyLqqbZYVtE1GSyENx3FW86A+3reQFvDF1w9Y0wZs0mc5ZVt3xK2 07UL8CtNcLsBtfX4oRVR9TR8heTOzNo= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VlYONzTw; spf=pass (imf07.hostedemail.com: domain of gmonaco@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=gmonaco@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733751941; a=rsa-sha256; cv=none; b=luyOyIiPZGbdvQuGN9eB3wxvNqRliNy0eMLbHt1i4ihIV3StXVHqux5awhn3QKxb9ta2zY Mr3ZfwnP0h6HFUXM3IlXm8vjDgWKt5nNFhgLmnafDfFfSqqQQbJvLXgPsxW0ABy6fzESdv lk/0KJxGJRkh4APsPWo3GF139xNsNlo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1733751962; 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:autocrypt:autocrypt; bh=UxiqV3TGm/7Oo6r80N5hopww+gDKBoPqmI5cftRmlZ4=; b=VlYONzTwkyMxLdm+ymYCIjTiVP8ncmURlJ3qx/NXsXvcK6NE5x2U0VFMOyM9gaY2/W5AFr NVByFTbpkpYg20IfUoUjNw4EF75d/TFuvpGDgVzllLV20KWSzxUgnXE0hkyDopVWnh/FT9 Qt+Qd/rvoAEO1d2XuqqABCj8uxticAI= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-206-EJ1mQVJtNvihNwT84EYccQ-1; Mon, 09 Dec 2024 08:45:59 -0500 X-MC-Unique: EJ1mQVJtNvihNwT84EYccQ-1 X-Mimecast-MFC-AGG-ID: EJ1mQVJtNvihNwT84EYccQ Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-385e9c69929so799398f8f.1 for ; Mon, 09 Dec 2024 05:45:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733751957; x=1734356757; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:cc:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UxiqV3TGm/7Oo6r80N5hopww+gDKBoPqmI5cftRmlZ4=; b=GtmlYm4rIJyfd5eMQJBTrKkjuDkzN4Ca+/9eb1I5PmBYmBfg1vDgpXvwmpXLMxQFkD c7/KnMpFt2Suux4tkz/4UGNJNbrCoSyjEfjFJiTFlmXspcfeq1nykJ0Dxza7YKtT9zHg zfqPQzsKB4q0StKI8Yj5SSgJcFCyhgPu/Yi0FwDLUs/yUIY2glsX1VnFX6aaOD3bNBU9 CkJJwtlXClrP7gQ5yj9/Efz/EwM/xhjHsQ0HpEG68gtcXxDUbEt/lxR/evnmYqsWXlIf ieM73GEPllQUBa4NtMaeUyRYZTfxmYLr2rvcDPNUCqPH9d3qKV8+0yFTPxkEocD+B7mS Oczg== X-Forwarded-Encrypted: i=1; AJvYcCWMMFhvw3Lz48OJwfjvc3XvVWXXFAh+BgvLnn0h5yJMEf0OtcV4jY4p5Lep62UaqJa0lQvnrjLTsA==@kvack.org X-Gm-Message-State: AOJu0Yxm6REoPHxC2BXXZlta/mkZpgjVOYcjw6mJDlHFFVc+tl2gAq2C 62fLuF0EsCFoAvemJ413I6iz0Hbq289uXqt/GP0DYhwh/riwB1m5stldpO+QcFtobgcG7J8IpII N2OyVHwbNJ9cglDf8KTHtPMmNpJ7u+8NoL9ZM2K2C4siviY0+ X-Gm-Gg: ASbGncuV+gO4Z4ep5OqmueqQPXvnVSysgFvfJoW8DFSmfITBxH15FnqyH2BmmJZ4mUQ glzXF6uBGyMRypJeQa3A1TOKEXorbRMBwvqWg7ohT8kCO8B8wOMq7WC5c4oYMcx9bVSO/G1FZ1G EF89EtWuZUZU/ryqAWVlzRu88GIFFzH8yaKYHOmt5dMGB1a4NFot0xsJQj6/BWIb32m8j9OpMij 69jn4hjaeqYgZAMEA9WPtoDWQ/rUETy5T1rn0sZc3R7kUeNkZb2Lg13OuWMG9D9EhGWN/ryUU+U X-Received: by 2002:a05:6000:1f8b:b0:385:df4e:3691 with SMTP id ffacd0b85a97d-386453fe984mr339505f8f.42.1733751957163; Mon, 09 Dec 2024 05:45:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IHjZpdrpXkqoSuJr5hzkaW5n2FAf94Fy9xuPw2HP8AFNH4tZqxScH5GWr5mODsLz8h6mxtpTA== X-Received: by 2002:a05:6000:1f8b:b0:385:df4e:3691 with SMTP id ffacd0b85a97d-386453fe984mr339488f8f.42.1733751956799; Mon, 09 Dec 2024 05:45:56 -0800 (PST) Received: from gmonaco-thinkpadt14gen3.rmtit.csb ([185.107.56.35]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38621909644sm13435166f8f.76.2024.12.09.05.45.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2024 05:45:56 -0800 (PST) Message-ID: <481a7b7716cf4eb2d592b08558d297d343d9aa25.camel@redhat.com> Subject: Re: [PATCH] sched: Move task_mm_cid_work to mm delayed work From: Gabriele Monaco To: Mathieu Desnoyers , Ingo Molnar , Peter Zijlstra , Andrew Morton , Mel Gorman , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Juri Lelli , Vincent Guittot Date: Mon, 09 Dec 2024 14:45:54 +0100 In-Reply-To: <445b4203-940d-4817-bd45-9da757f22450@efficios.com> References: <20241205083110.180134-2-gmonaco@redhat.com> <4c067b75e06aadd34eff5b60fc7c59967aa30809.camel@redhat.com> <5ba975e2-06b9-4b98-bece-d601b19a06db@efficios.com> <445b4203-940d-4817-bd45-9da757f22450@efficios.com> Autocrypt: addr=gmonaco@redhat.com; prefer-encrypt=mutual; keydata=mDMEZuK5YxYJKwYBBAHaRw8BAQdAmJ3dM9Sz6/Hodu33Qrf8QH2bNeNbOikqYtxWFLVm0 1a0JEdhYnJpZWxlIE1vbmFjbyA8Z21vbmFjb0ByZWRoYXQuY29tPoiZBBMWCgBBFiEEysoR+AuB3R Zwp6j270psSVh4TfIFAmbiuWMCGwMFCQWjmoAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgk Q70psSVh4TfJzZgD/TXjnqCyqaZH/Y2w+YVbvm93WX2eqBqiVZ6VEjTuGNs8A/iPrKbzdWC7AicnK xyhmqeUWOzFx5P43S1E1dhsrLWgP User-Agent: Evolution 3.54.2 (3.54.2-1.fc41) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 2bwcaSWPB5KZVslzA6egHrY5ublrpIS_O_0IWONUpH4_1733751957 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7677140019 X-Rspam-User: X-Stat-Signature: qhtabnjb9wfnq57zpkd5hwa5fquiawm9 X-HE-Tag: 1733751942-594643 X-HE-Meta: U2FsdGVkX18vh5rQcDigXtUCxfpQfBehM/gwEj8tvgPaxLBtRCfMy6fvMknzYsjcKZNasvZtg9xkvf+sOmvGrlnSDgZnmYatyfpVJSTqKM6+lPb5ZDnUH6v5lNOFIlQ1KlweuQiBmcayqjAEhYl1KOQ1rRzeB5w+EuSVvbzZ/I0983vxA7/JIf31jBr5Nok97c1GB4TWm2ojuMfVOHfnOylLDYAx9rhbhrLRqQBlzy9yTQTOGtXDxEb8HX+hhf201/XWdPsCeZa/1hcYAtlPH8uwyUh2/hsEZtWyPD0jgjJCiweYgHhwMuC8hyg8p5/bbiOuJLNCVlVeCQ2TeJKqfzmKeLiMwomtQ98tUoJhudD80cYeW1+dITunUjqNx+aXXiOIgTgBUMeJnSKJU+JFoIktMOD4KG5PG2TzAR30Zg+aB1+PF8PGceAzOEgN/7LKskTvifDXpGUvg1pV6dsGYKqUOCVKBILITvjQBpzz/NCuDVKfYphi/4ccfAqbbmzjD5bJvTdX4fMxrW3AF4dRnMDQHDpLiYiZt5JjOkMcoOiSNYQFWNKI+teCTjBcOi+GpTvLm0uxjtZAWTvlgk/wMj/glbB8p3KBFs8sWuOA9ascOfo1WGIz7kOAXjSvOv8OpiN8IHwHJAcY++kBfGTuIA8G1tqT8Cyr9Octt4Ue6XCyNT8S/BCPid3mQkWfjv17SE74bruIZP3NRToM11XeHoGum7/KUw7Pg/WTE2YmcelhQlvTLCuOZWh+yr15nBfCNMDlZor7QZixd9zIUaAFsDRNFBhft4ATf3ywojUr435oZRpj8D35FvY7fbZ7uCuKEPWENiZuBh8czNFcoiGUTHU4tCYtalI6LmlQzWgOdc2lok45odLvFupQ6jSbc6exxFQwMDfFl1v930kuXtkQyGW+KGzuCSTN36O4TT4AcoQAvgk0eBrblb0ZluCdfAkFSycEz9QyfGk6lHEDfRs EfECEu3R sk/mTGsskN9I26kv6ulbJGMS3+00+j7RCtTEnYje/AkgpbxCJ3H8J9EXSpF9OD8DwWSzB2GFtwdfEi5e9Fn4zzfDpyX7g3nGZcBQHxWr+nVXWbOk3y4D5fPIVBmO4eMw/iCcQjPIe8ZIZ6YjNh3eex0XtneVBupGWkd8G06AzcwsxLLfUbfEomFx2o+AzNHHXiYeoU8PtkN3RJ0SMKlQYbDtQ5NxL2uZ3ttkZRLBrhJWO3xQIDDnAy0Voam0rbrJFCTalUdgqeur8975DtvABoux3Swmt6YB1JZdPMxoRsuqgHs8OOOClBDW6WfUd76RUhB8H9ApiShW8sqecWBeyLbW6bOrjcO1MSVYHlDctrNVIiZxr7HoZcpOmHQUWH2dNQBpH X-Bogosity: Ham, tests=bogofilter, spamicity=0.333491, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: > Thinking back on this, you'll want a program that does the following > on a system with N CPUs: >=20 > - Phase 1: run one thread per cpu, pinned on each cpu. Print the > =C2=A0=C2=A0 mm_cid from each thread with the cpu number every second or = so. >=20 > - Exit all threads except the main thread, join them from the main > =C2=A0=C2=A0 thread, >=20 > - Phase 2: the program is now single-threaded. We'd expect the > =C2=A0=C2=A0 mm_cid value to converge towards 0 as the periodic task clea= rs > =C2=A0=C2=A0 unused CIDs. >=20 > So I think in phase 2 we can have an actual automated test: If after > an order of magnitude more time than the 100ms delay between periodic > tasks we still observe mm_cid > 0 in phase 2, then something is > wrong. Been thinking about this and came up with a simple draft, I'll probably send it as a separate patch. Doing this can lead to false positives: the main thread may be assigned the mm_cid 0 and keep it till the end, in this scenario the other threads (CPUs) would get different mm_cids and exit, the main thread will still have 0 and pass the test regardless. I have an idea to make it a bit more robust: we can run threads as you described in phase 1, stop all but one (let's say the one running on the last core), make sure the main thread doesn't accidentally run on the same core by pinning to core 0 and wait until we see the 2 remaining threads holding 0 and 1, in any order. Besides a special case if we have only 1 available core, this should work fine, sure we could get false positives but it seems to me much less likely. Does it make sense to you? Gabriele