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 X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CAC99C83001 for ; Mon, 27 Apr 2020 23:56:48 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 5DBEF2076A for ; Mon, 27 Apr 2020 23:56:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="SE0vkxBD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5DBEF2076A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id AF6F58E0005; Mon, 27 Apr 2020 19:56:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ACCFE8E0001; Mon, 27 Apr 2020 19:56:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9E33F8E0005; Mon, 27 Apr 2020 19:56:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0229.hostedemail.com [216.40.44.229]) by kanga.kvack.org (Postfix) with ESMTP id 87B3B8E0001 for ; Mon, 27 Apr 2020 19:56:47 -0400 (EDT) Received: from smtpin02.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 4389F52B7 for ; Mon, 27 Apr 2020 23:56:47 +0000 (UTC) X-FDA: 76755297654.02.slip72_756eef276dc5a X-HE-Tag: slip72_756eef276dc5a X-Filterd-Recvd-Size: 3359 Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by imf46.hostedemail.com (Postfix) with ESMTP for ; Mon, 27 Apr 2020 23:56:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1588031806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc; bh=xqSYkkiN5zo6A8A9R6SrdTZLgFG5Vtd3h0pL6NAIaDM=; b=SE0vkxBDM/EQaPe1nOoD8qI/tUY1CrItf7snMFEctjCl8f25cIcqr+5FnhRH118APMoET3 FC7SGa99nskQK33fcrRDCHU4pC4iSBujpxCp8x16ElBEKv9FOziI5lZbxT5SGvepUygX0M uHyAO5uAqNIog10ymo8mtNmNy6EqbQM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-23-YS63Xv_VM8-Rn4F-pZDCCA-1; Mon, 27 Apr 2020 19:56:44 -0400 X-MC-Unique: YS63Xv_VM8-Rn4F-pZDCCA-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1BEC6107ACCA; Mon, 27 Apr 2020 23:56:42 +0000 (UTC) Received: from llong.com (ovpn-112-176.rdu2.redhat.com [10.10.112.176]) by smtp.corp.redhat.com (Postfix) with ESMTP id 56F7760BE2; Mon, 27 Apr 2020 23:56:33 +0000 (UTC) From: Waiman Long To: Andrew Morton , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Johannes Weiner , Michal Hocko , Vladimir Davydov Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, Juri Lelli , Qian Cai , Waiman Long Subject: [PATCH v2 0/4] mm/slub: Fix sysfs circular locking dependency Date: Mon, 27 Apr 2020 19:56:17 -0400 Message-Id: <20200427235621.7823-1-longman@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 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: v2: - Use regular cmpxchg() instead of x86-only try_cmpxchg() in patch 2. - Add patches 3 and 4 to fix circular locking dependency showing up at shutdown time. With lockdep enabled, issuing the following command to the slub sysfs files will cause splat about circular locking dependency to show up either immediately afterwards or at shutdown time. # echo 1 > validate # echo 1 > shrink This patchset fixes these lockdep splats by replacing slab_mutex with memcg_cache_ids_sem as well as changing some of the lock operations with trylock. Waiman Long (4): mm, slab: Revert "extend slab/shrink to shrink all memcg caches" mm/slub: Fix slab_mutex circular locking problem in slab_attr_store() mm/slub: Fix another circular locking dependency in slab_attr_store() mm/slub: Fix sysfs shrink circular locking dependency include/linux/memcontrol.h | 1 + include/linux/memory_hotplug.h | 2 + mm/memcontrol.c | 5 ++ mm/memory_hotplug.c | 5 ++ mm/slab.h | 1 - mm/slab_common.c | 37 ------------- mm/slub.c | 98 +++++++++++++++++++++++++++++----- 7 files changed, 99 insertions(+), 50 deletions(-) -- 2.18.1