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 3E3B5C36010 for ; Fri, 11 Apr 2025 14:06:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9852F680007; Fri, 11 Apr 2025 10:06:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 86D0B680005; Fri, 11 Apr 2025 10:06:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 70FCB680007; Fri, 11 Apr 2025 10:06:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4CC0A680005 for ; Fri, 11 Apr 2025 10:06:51 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2E70B80335 for ; Fri, 11 Apr 2025 14:06:52 +0000 (UTC) X-FDA: 83321939064.04.5248B44 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf04.hostedemail.com (Postfix) with ESMTP id 5CAE64001C for ; Fri, 11 Apr 2025 14:06:50 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=sodjuVZE; dkim=pass header.d=linutronix.de header.s=2020e header.b=ooqIR+rj; spf=pass (imf04.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744380410; 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=xwi9+d3HlbhPOOmyW82UQg4QFJt5ooYE0JVjvtsqWYQ=; b=QqmBjeM/FM3KXnUFfDjpUEoWYSERUzc+bSs1g6bG0CzYT6Brud1IZzZkGfmHya2qdEcsfr gfXZueUznOp7npEcbOCTIWSi/khMBgn6xTCDNRxo2IECiDdyeRNmu4E1EV1kwYYp8/j9Fz m2MXoaJ8Ao9tuT33DXCkTnr6QHa/oYU= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=sodjuVZE; dkim=pass header.d=linutronix.de header.s=2020e header.b=ooqIR+rj; spf=pass (imf04.hostedemail.com: domain of bigeasy@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=bigeasy@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744380410; a=rsa-sha256; cv=none; b=r+6f1RUkLTX3drNKGG3/+M2ew3mlnUtkzX/ISlAhykq3e4afROFmwncuYds8aSK+quDAU5 71XEx6lMPIZ0ofRv38dJrBpxZvPYjqvzfp9ve4GplI67mNoKttchHmZaRyUG4iDzrKd3Se +3R1JY9YOei4G2R+/pT4nMt4zKdkiHw= Date: Fri, 11 Apr 2025 16:06:46 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1744380408; 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: in-reply-to:in-reply-to:references:references; bh=xwi9+d3HlbhPOOmyW82UQg4QFJt5ooYE0JVjvtsqWYQ=; b=sodjuVZEk2BE+/LbFRgqAGvubEREMlDUveQbbP8h7hVdFlBvhMzKIVQJY6yWHAeBAkwE4j U3PxFzSnjbBpjKX3sl1bGlY1Do49g59+2QCvTrjfhT66iluGBXpexYhUYKT4ukEhlzuhyW VOeqMjIDV7BhxMdxPWnq95PXfCmpwd9DuIqN+11p9+G+5ops+TGggptz743KYnnd7V6zT9 DjK1ei33bH/PGjDz6BN+EtztisTj200UtCo+wPOQ0hfDs+KvHjN6ig5ZjnWGQTkRLx60Ii OKftxjysiB38HISHgiSPpm0yiMslbiHwgM0uQboEnfaeAotzLay5yzpKk/15CA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1744380408; 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: in-reply-to:in-reply-to:references:references; bh=xwi9+d3HlbhPOOmyW82UQg4QFJt5ooYE0JVjvtsqWYQ=; b=ooqIR+rjgJuQUTihpZa/QZO2IdKmQ2lay4zuAXcc9UF5PH/KX8OiOxq9XTS1rM5wiLVSwX oba0cgkqnVjQj3Bg== From: Sebastian Andrzej Siewior To: Vlastimil Babka Cc: Shakeel Butt , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , Yosry Ahmed , Waiman Long , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: Re: [PATCH] memcg: decouple memcg_hotplug_cpu_dead from stock_lock Message-ID: <20250411140646.05s0O5SY@linutronix.de> References: <20250410210623.1016767-1-shakeel.butt@linux.dev> <0e9e2d5d-ec64-4ad4-a184-0c53832ff565@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <0e9e2d5d-ec64-4ad4-a184-0c53832ff565@suse.cz> X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 5CAE64001C X-Stat-Signature: d9iwb5d714a8rp4ryxzcksg44zuyu4qb X-HE-Tag: 1744380410-262598 X-HE-Meta: U2FsdGVkX1+2C7xlm1dRdehMP4DrYXVWkdA5lbNVwOv0tg5M0SX6Qv2KwroM/MKpYCuEt9KHdg3wgkv8+oqiiJEjg+msUYz6izM5C8j/P9coaGSA9v1ieqfmODIrub04ZBfcem/1hlZmx7eqH86nQ0HgGw5NFiq5+i+YjKImuNJ3f2y569hj3Szpsbk2QczBeJS1oIGASurJ1UjgR/UEc8MEGraKFdtvb5aewfpUsEmcFE7JJ139Uy5eZQiwcWDCDh3kyGKt/FblswRzvgSvytukgU/Yhq6oPlMBUswk1F/0yFuQgIkUk1u5EWZpOEvvkR2/t/0OoDW9ofcNJ58RV+VUp0Wo3se0nx9tCLYww4eSDguRsp+eMFZsj/8iNceNLQglUiobwTZ/k2kmwV/tF2sDH0OiyHq+kHxZkSHXeNzIzqxHmT1jSQxyLH8WvAdlN7fqvjwjfDx1+X0yMRvY6fFt1dwmvJrCY0joBVK1p1I0VMZxWAU/fsJLGVekFmjIDY26e2ZLg6/+HbUqJ0rqQnyNRLNPzoCtjz3NxeJsMYUw2g4gOJIxVvTZuRFN93D5FWhMmeoy4U80VDR2j0mOib5649K7Wrb1x298eyDfNNZPBRn3O4Ei9eUSDwOvtgwkMlavw6Mo5lmu7VqHaM4Ho1oJhN2xtkwWER8Ef0WmukC8ZCNo+hVMEMcjLtSikuMY6H3SRZylvmhBmzDq4YVktUdKZDOsRpqYKZRX6+8AnirMnWaVjYhD5iQI/MF1utD+ZhcyQHbedia3XIJZjAoZMi7s7JJ7s9WAvT233J5/r6R0+w/tCM1mufTlLAHDyKlMl6RdpyFW+Uo0XqSMWDGEmdIuSoSWqPr/F5mU9Xif6m2gFTjwtP8MPBy4CrC3HjAkKljJjVFmsuVrkmd8lDoRElntQ9J74oX1wwAtCEVHsDAOErP0QiFAcIZeN/Y9TpzQPA/Bh2Unme4JzY0i5z/ J39rVKXi xMSwXbp+YjRmJEdmwPKEAhmqUqH+4/076AIpJ4PSIoEXcrA6JJEuk+zLfYWcYJM5w36Ki4i7j4oIdCp542YMNFNJfHTEoHLC4NzRRtrPw65XJh1hc7Rheu3pB+AqHGdfC69/QoviKHEG6VP7LBP1sH9k3QdE/BVRaUzGFw3onbrdfV0TKTA4UjeyEEojYUY716ks7Knc0s6erG4yOzTIcCjfbkhIXLPtfLVT29kD9JYDXsuWBjZC9BZQq5A== 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: List-Subscribe: List-Unsubscribe: On 2025-04-11 10:55:31 [+0200], Vlastimil Babka wrote: > > @@ -1964,10 +1964,10 @@ static int memcg_hotplug_cpu_dead(unsigned int cpu) > > > > stock = &per_cpu(memcg_stock, cpu); > > > > - /* drain_obj_stock requires stock_lock */ > > - local_lock_irqsave(&memcg_stock.stock_lock, flags); > > - drain_obj_stock(stock); > > - local_unlock_irqrestore(&memcg_stock.stock_lock, flags); > > + local_irq_save(flag); > > I think for RT this is not great? At least in theory, probably it's not > actually used together with cpu hotplug? As it relies on memcg_stats_lock() > I think no irq save/enable is necessary there. local_lock_irqsave wasn't > actually a irq disable on RT. I don't know if there's a handy wrapper for this. No seeing the whole context but memcg_hotplug_cpu_dead() should be invoked the control CPU while "cpu" is already gone. So the local_lock should be acquired and the target CPU needs no locks since it is offline. local_irq_save() will break things. Sebastian