Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1384095yba; Thu, 9 May 2019 15:56:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqxaQDd00LI+/SZr7zp7OaxMe6uTIUOy1lrT26H0o8UCDc2pxMk9kSlwpSNakk+UmN1gxJvT X-Received: by 2002:a17:902:9689:: with SMTP id n9mr8680713plp.133.1557442560198; Thu, 09 May 2019 15:56:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557442560; cv=none; d=google.com; s=arc-20160816; b=rotY8oBOed8eaOkZqCAX8uiLoouTvyyBN30OVHmJcoojZ4OfHjIL3E0olMxmjlq3FV e6JjbbU5ZZGTQrLcZtBNXPs6xU/h5M8/pRw4NPney7aAy7TKBTH/FHnQsYqkSn0o2+NS VUaL12hFQwA8HFY9ttow6MJXn6ptQYOdNvIkcVbu7suJQeej0rSMr0U73EiK6sJFfgKi kMYCnz9far3nG3HYjBa6znV3xXDAdYcL16hKjiYdxVMIfNILtz84kb4WkzDlWD+O3gmA 0SpB//0xoRKcZqulEEX6P9+vX4uivZ3WVlTlVqS12rcnj80gJ5QTC8K8NXDB5mhuIvJe XaEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=JvTTJlUXvU8XNTu6IHq/kWa6Qzp6vsqlnkM/sU+WpRo=; b=hRz3JqzclPR/54r3rUFseoc3c8cRW8VXtBWDaQsgDBUfNpJbzLrvQrpfyz+v9PCnx3 peyg05SB/7vIPwnacRtcWk0G2gqczgh6x7Xk2mpADP6D92mV8633hfPPnMKD8LgFRexe Xn3DU4dXSCliGrmuk2cV+vUxoULfrxPY6wudKMUq3xAEWfEcjUvxkRjoh84ShgtZ9CfY 2eb2qPKAxGNVSeStHEGkMMoDCgdEdpKKgyJ+tBmKoQW3UcCURLJniXEaGXNsU0ch4C15 a6vKRtq5fDxOZ1REt67b8jkCTqElLe1U19hwg7C0li/C0AVQEllimi7HKc9wklGjb6hm xW/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=l+ARRXQv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z6si2200053plk.420.2019.05.09.15.55.43; Thu, 09 May 2019 15:56:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=l+ARRXQv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726789AbfEIWyv (ORCPT + 99 others); Thu, 9 May 2019 18:54:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:55468 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726219AbfEIWyv (ORCPT ); Thu, 9 May 2019 18:54:51 -0400 Received: from localhost.localdomain (c-73-223-200-170.hsd1.ca.comcast.net [73.223.200.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3AF6C2177B; Thu, 9 May 2019 22:54:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1557442490; bh=MslwbGMGtefXAWdqoRks6S7doMHcsjJBefOUECVcWrg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=l+ARRXQvHKMU5YamYFAJfDEOefTeHsJ8tfZW4B8X6TK3v3Jwaakjx+U1pHfMAHcwx Q86v8GbmEPKJyzUSVNi+UkaEQyUxMUvkdoaDIuP1jfrXrK1eY0cgaIwS0u7B6YGtqg K0XRLxp3QYaRDEZdWflE+QKMdDSBF6qUaQEgbGqs= Date: Thu, 9 May 2019 15:54:49 -0700 From: Andrew Morton To: Zhiqiang Liu Cc: , , , , , , , "Zhoukang (A)" , Mingfangsen , , Subject: Re: [PATCH v2] mm/hugetlb: Don't put_page in lock of hugetlb_lock Message-Id: <20190509155449.ee141be7998256015ea0eb73@linux-foundation.org> In-Reply-To: References: <12a693da-19c8-dd2c-ea6a-0a5dc9d2db27@huawei.com> X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 6 May 2019 22:06:38 +0800 Zhiqiang Liu wrote: > From: Kai Shen > > spinlock recursion happened when do LTP test: > #!/bin/bash > ./runltp -p -f hugetlb & > ./runltp -p -f hugetlb & > ./runltp -p -f hugetlb & > ./runltp -p -f hugetlb & > ./runltp -p -f hugetlb & > > The dtor returned by get_compound_page_dtor in __put_compound_page > may be the function of free_huge_page which will lock the hugetlb_lock, > so don't put_page in lock of hugetlb_lock. > > BUG: spinlock recursion on CPU#0, hugemmap05/1079 > lock: hugetlb_lock+0x0/0x18, .magic: dead4ead, .owner: hugemmap05/1079, .owner_cpu: 0 > Call trace: > dump_backtrace+0x0/0x198 > show_stack+0x24/0x30 > dump_stack+0xa4/0xcc > spin_dump+0x84/0xa8 > do_raw_spin_lock+0xd0/0x108 > _raw_spin_lock+0x20/0x30 > free_huge_page+0x9c/0x260 > __put_compound_page+0x44/0x50 > __put_page+0x2c/0x60 > alloc_surplus_huge_page.constprop.19+0xf0/0x140 > hugetlb_acct_memory+0x104/0x378 > hugetlb_reserve_pages+0xe0/0x250 > hugetlbfs_file_mmap+0xc0/0x140 > mmap_region+0x3e8/0x5b0 > do_mmap+0x280/0x460 > vm_mmap_pgoff+0xf4/0x128 > ksys_mmap_pgoff+0xb4/0x258 > __arm64_sys_mmap+0x34/0x48 > el0_svc_common+0x78/0x130 > el0_svc_handler+0x38/0x78 > el0_svc+0x8/0xc > > Fixes: 9980d744a0 ("mm, hugetlb: get rid of surplus page accounting tricks") > Signed-off-by: Kai Shen > Signed-off-by: Feilong Lin > Reported-by: Wang Wang > Acked-by: Michal Hocko THanks. I added cc:stable@vger.kernel.org to this.