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 3FBD3C433F5 for ; Tue, 7 Dec 2021 16:00:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BD92A6B0096; Tue, 7 Dec 2021 11:00:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B88D66B0098; Tue, 7 Dec 2021 11:00:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A509D6B0099; Tue, 7 Dec 2021 11:00:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0045.hostedemail.com [216.40.44.45]) by kanga.kvack.org (Postfix) with ESMTP id 95C576B0096 for ; Tue, 7 Dec 2021 11:00:32 -0500 (EST) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 57688181C49C3 for ; Tue, 7 Dec 2021 16:00:22 +0000 (UTC) X-FDA: 78891460284.03.3841B44 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf20.hostedemail.com (Postfix) with ESMTP id A91F4D0000BD for ; Tue, 7 Dec 2021 16:00:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1638892821; 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=J6jwf6epYrICYcmePyRn09ib6008dY63VibUD3hoHT0=; b=Mx6Jf6T5N3yU9GL84fUjMnoReR+ZIJNHnYIZq5fm5Fx90d4+UsLXfgykhbuIAcGwfkAyjz KSwY2Q07CHh1D2W9RbRc3XzRl7bsuYOZiJw4K2S3RBOFNGsC6uM1cWufmCwPYCZ6Pqe5WX qVOhw+SkMOBC7xWIRqZnHe4nz9gK5Hg= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-367-v4PrHyZpOoC4UoSocSWQZQ-1; Tue, 07 Dec 2021 11:00:17 -0500 X-MC-Unique: v4PrHyZpOoC4UoSocSWQZQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A03AC1019995; Tue, 7 Dec 2021 16:00:15 +0000 (UTC) Received: from [10.22.34.28] (unknown [10.22.34.28]) by smtp.corp.redhat.com (Postfix) with ESMTP id 98330794DA; Tue, 7 Dec 2021 16:00:14 +0000 (UTC) Message-ID: <281a5c45-388f-203e-3c5e-146a85328c78@redhat.com> Date: Tue, 7 Dec 2021 11:00:14 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: [PATCH] mm/memcontrol: Disable on PREEMPT_RT Content-Language: en-US To: Sebastian Andrzej Siewior , cgroups@vger.kernel.org, linux-mm@kvack.org Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Thomas Gleixner , Vladimir Davydov References: <20211207155208.eyre5svucpg7krxe@linutronix.de> From: Waiman Long In-Reply-To: <20211207155208.eyre5svucpg7krxe@linutronix.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Stat-Signature: u43krdtrbumwms86gxpckpzufnw51is5 Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Mx6Jf6T5; spf=none (imf20.hostedemail.com: domain of longman@redhat.com has no SPF policy when checking 170.10.129.124) smtp.mailfrom=longman@redhat.com; dmarc=pass (policy=none) header.from=redhat.com X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: A91F4D0000BD X-HE-Tag: 1638892821-8396 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 12/7/21 10:52, Sebastian Andrzej Siewior wrote: > From: Thomas Gleixner > > MEMCG has a few constructs which are not compatible with PREEMPT_RT's > requirements. This includes: > - relying on disabled interrupts from spin_lock_irqsave() locking for > something not related to lock itself (like the per-CPU counter). > > - explicitly disabling interrupts and acquiring a spinlock_t based lock > like in memcg_check_events() -> eventfd_signal(). > > - explicitly disabling interrupts and freeing memory like in > drain_obj_stock() -> obj_cgroup_put() -> obj_cgroup_release() -> > percpu_ref_exit(). > > Commit 559271146efc ("mm/memcg: optimize user context object stock > access") continued to optimize for the CPU local access which > complicates the PREEMPT_RT locking requirements further. > > Disable MEMCG on PREEMPT_RT until the whole situation can be evaluated > again. Disabling MEMCG for PREEMPT_RT may be too drastic a step to take. For commit 559271146efc ("mm/memcg: optimize user context object stock access"), I can modify it to disable the optimization for PREEMPT_RT. Cheers, Longman > [ bigeasy: commit description. ] > > Signed-off-by: Thomas Gleixner > Signed-off-by: Sebastian Andrzej Siewior > --- > init/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > --- a/init/Kconfig > +++ b/init/Kconfig > @@ -943,6 +943,7 @@ config PAGE_COUNTER > > config MEMCG > bool "Memory controller" > + depends on !PREEMPT_RT > select PAGE_COUNTER > select EVENTFD > help >