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=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 D916EC433DF for ; Tue, 7 Jul 2020 22:10:36 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 97356206DF for ; Tue, 7 Jul 2020 22:10:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=intel-com.20150623.gappssmtp.com header.i=@intel-com.20150623.gappssmtp.com header.b="Jh3wspYX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 97356206DF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2F99A6B00A1; Tue, 7 Jul 2020 18:10:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2822D6B00A5; Tue, 7 Jul 2020 18:10:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1722E6B00A6; Tue, 7 Jul 2020 18:10:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0202.hostedemail.com [216.40.44.202]) by kanga.kvack.org (Postfix) with ESMTP id 01AA36B00A1 for ; Tue, 7 Jul 2020 18:10:35 -0400 (EDT) Received: from smtpin18.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 8BD7C2C78 for ; Tue, 7 Jul 2020 22:10:35 +0000 (UTC) X-FDA: 77012674830.18.army63_2a0c3be26eb7 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin18.hostedemail.com (Postfix) with ESMTP id 628DC100EDBEC for ; Tue, 7 Jul 2020 22:10:35 +0000 (UTC) X-HE-Tag: army63_2a0c3be26eb7 X-Filterd-Recvd-Size: 5072 Received: from mail-ej1-f66.google.com (mail-ej1-f66.google.com [209.85.218.66]) by imf36.hostedemail.com (Postfix) with ESMTP for ; Tue, 7 Jul 2020 22:10:34 +0000 (UTC) Received: by mail-ej1-f66.google.com with SMTP id ga4so48289961ejb.11 for ; Tue, 07 Jul 2020 15:10:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NBcJfpgDgiWvp70CuwEdpKyzck2zYub7uFOUpyKCkM4=; b=Jh3wspYXTE7ZYRuNOwvWQorpJTftbYNJqBLUKdQIqpcI2eREUlbHWwZSeozLxt0mZK Ixbw6a9E0H1GWJTpBxBKZo/novwLgoBl3Qllh07hodbmjaap4SvK/tOn9U84kC0B1IpN CjECFkQ793lI6uBmu/t6a91wG+JQNLmfVUDGCq39duN8Y1UTgZxzNzWIr5IV1dBc+fC6 JHNx9kvC6qthEr81Rqp/U53VtwS4iMp2ZejJy5hoZ+7qBmMmhF4O8ts4XrNS6A9DWqc8 zlH31p9WJ7qwfNQj4NKfx+Qz6FAE+i1/uXkAB1sCIZTqi453fFIxkipaOIGf7Yd5PS36 XKsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NBcJfpgDgiWvp70CuwEdpKyzck2zYub7uFOUpyKCkM4=; b=UKdzAHwan7TPNmBPH7VPviHrecCDtxqB87Q0cWqLw+uDFZK/BIAg6rMphnKqQzmngE UgUN0TUFlCbwKbmk03cvSRKtQgS8N1wNcRG1AEwQIJK6+LQyLQEQFSILOITCdnTQGaxM FeNzJ+VCKMDRzK5Bp51Do/4Od5CU8lkj8wB+wxPXlAyR1PclXnJL0vc6feBx/wjohSfN s5/AYu4XD803O99jtnYJoSCFWGzJDdCxm3/etXjJ1K9ATo+FYsjEW9adirN/rGs8yguu hdEI94nV1jcOk4ouyEGBvFPSJLQgkxKx9mZvwIDGzJiIHcax4Lm4vbQ59rv3j5xA1eCb 9unw== X-Gm-Message-State: AOAM533jyjAxshaENV7q54TBnmkV1uR8nwdMd4EZHhFJKx9MBHAKFj6j GU4x4Eawg4jh4p9G+SOmgrKiJifnk5S8qJGhjCpaog== X-Google-Smtp-Source: ABdhPJzLtJxDRTcMSFchyABLauV8q4dPkKqfUWNolgasMSmhXzspz37EpBiZTg6Tc2uAbgdOewLspH9Pqq5vD6jQDQw= X-Received: by 2002:a17:906:b888:: with SMTP id hb8mr48741223ejb.124.1594159833654; Tue, 07 Jul 2020 15:10:33 -0700 (PDT) MIME-Version: 1.0 References: <20200706011947.184166-1-justin.he@arm.com> <20200706011947.184166-4-justin.he@arm.com> <0b015717-b5e1-451d-9fc3-ad665ed1054a@redhat.com> In-Reply-To: <0b015717-b5e1-451d-9fc3-ad665ed1054a@redhat.com> From: Dan Williams Date: Tue, 7 Jul 2020 15:10:22 -0700 Message-ID: Subject: Re: [PATCH 3/3] mm/memory_hotplug: fix unpaired mem_hotplug_begin/done To: David Hildenbrand Cc: Jia He , Catalin Marinas , Will Deacon , Andrew Morton , Mike Rapoport , Baoquan He , Chuhong Yuan , Linux ARM , Linux Kernel Mailing List , Linux MM , Kaly Xin , Michal Hocko Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 628DC100EDBEC X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam02 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 Mon, Jul 6, 2020 at 12:50 AM David Hildenbrand wrote: > > On 06.07.20 03:19, Jia He wrote: > > When check_memblock_offlined_cb() returns failed rc(e.g. the memblock is > > online at that time), mem_hotplug_begin/done is unpaired in such case. > > > > Therefore a warning: > > Call Trace: > > percpu_up_write+0x33/0x40 > > try_remove_memory+0x66/0x120 > > ? _cond_resched+0x19/0x30 > > remove_memory+0x2b/0x40 > > dev_dax_kmem_remove+0x36/0x72 [kmem] > > device_release_driver_internal+0xf0/0x1c0 > > device_release_driver+0x12/0x20 > > bus_remove_device+0xe1/0x150 > > device_del+0x17b/0x3e0 > > unregister_dev_dax+0x29/0x60 > > devm_action_release+0x15/0x20 > > release_nodes+0x19a/0x1e0 > > devres_release_all+0x3f/0x50 > > device_release_driver_internal+0x100/0x1c0 > > driver_detach+0x4c/0x8f > > bus_remove_driver+0x5c/0xd0 > > driver_unregister+0x31/0x50 > > dax_pmem_exit+0x10/0xfe0 [dax_pmem] > > > > This fixes it by moving mem_hotplug_done ahead of "done" > > > > Signed-off-by: Jia He > > --- > > mm/memory_hotplug.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > > index e1e290577b45..86b36714342b 100644 > > --- a/mm/memory_hotplug.c > > +++ b/mm/memory_hotplug.c > > @@ -1769,8 +1769,8 @@ static int __ref try_remove_memory(int nid, u64 start, u64 size) > > > > try_offline_node(nid); > > > > -done: > > mem_hotplug_done(); > > +done: > > return rc; > > } > > > > > > Just drop the "done" label, use "return rc;" directly instead of the > goto, and "return 0;" at the end. > > Also, please add > > Fixes: f1037ec0cc8a ("mm/memory_hotplug: fix remove_memory() lockdep splat") > > and > > Cc: stable@vger.kernel.org # v5.6+ > > Thanks! Yes, thanks, you can also add: Acked-by: Dan Williams