Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp1677764imw; Tue, 5 Jul 2022 13:35:09 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sDdQcRTgwnw0px9AtiyizcqpOW3cQTQVsevVGy7DyY8apVq2wQD/0KHvmFSY1/sPjDqGDS X-Received: by 2002:a17:90b:1c90:b0:1ee:d804:d2c1 with SMTP id oo16-20020a17090b1c9000b001eed804d2c1mr45906739pjb.92.1657053309447; Tue, 05 Jul 2022 13:35:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657053309; cv=none; d=google.com; s=arc-20160816; b=cXas1zKCTF40WyrZS4sUgaCCQ9m3doglJxJ0mQ5M5q4CU1/sWg3xVCbMCcuRsZ7UFw z6TIt9JhC84ENDd6AylhIG/saH2wSpgg0IxYtCYR/LXLsftBvv2rKGH8dp1oc0w2SKMj tPjDoEHuOWSFcZXEt/Y7Mepyd3lNPC04H7BxnQF/Fw3IeD9HMASygtMxv4xEtxhIDMXL 0VhVJ20DML8C99ePMLSbVtfRtOiwGee6mVYzOzVUotCbdqJfG+75C24X5FoQdvK7pRdK sGV5/xLaaf450E1+XGzNfsSlce3sM0Wg/zFunbG6dsD3mvHR1s6CJQvniMreVUelmn9Z xsjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=8mFY/PnKFh8a6MFjB1VcPM+oMAzS+gWmXYVR1uhknLI=; b=zUwUF5iHIhJIVThKD45n2yiQ89+weKg/XvBtnkBYcy6uFW2TDWlCkjxYGO8kOGHRNu +cC5NzKkEKwYcLm9pW0hm7aoOZhxWY3KeYzu1YQYMP6lJMCg3NNsEQQqGoDrjniWt5Ji N2mdUPln95YumB7IOS8zVFRPweMcWBPnO539KG0vfI7N+SHfkQ7ozSlFjnZCvUx2DA31 AoydSLXg8drsR3zxgqZ3vyGhpUkUXH72NBnhDXq28IzFzlGihzEX5hDTgWklGkJW8Shp TzGty2l9/Uql1oEd0qYWQpPzlG1+3+K8Dg9RgBoy+sH4rWV+Fp635CpxJK4Em4ni5zA+ 9lnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ofz6aecG; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 203-20020a6306d4000000b0040cc39c0357si16195084pgg.125.2022.07.05.13.34.56; Tue, 05 Jul 2022 13:35:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ofz6aecG; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229653AbiGEUeh (ORCPT + 99 others); Tue, 5 Jul 2022 16:34:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45788 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229534AbiGEUeh (ORCPT ); Tue, 5 Jul 2022 16:34:37 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C1B9AFD1F; Tue, 5 Jul 2022 13:34:36 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5B9CF61C00; Tue, 5 Jul 2022 20:34:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B96BAC341C7; Tue, 5 Jul 2022 20:34:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1657053275; bh=50nY0ggP+J21wkvr99VofKlSXlyDIr+OVw7BtesaheA=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=ofz6aecGD0+ZLizVyLJCR31Ct2zEmsM1DkPts9knFJP6ldlqLW+XtLXoPRrFgjUuY Nwu2jYh5B+Lo9ZEBGvz5WUAbaDEWWWmxi78exFrMNExcWwwKPzgYOyya9nkL1s76JI zUMx/5m5mEPyV8omlLcFZT0fvBqpf9Lz35ZyqCvIFBk0CnRk6NXd3Rb31nLihgiUAO cZnW3ib8XrtzTAl7fgVA0j5nu4wutm4y2SzD/PCgBt9sB6ASWA1bl8bOlPKUqQWlSd v+63ISe096J6hDbcbBRssXGrFKN1NeK3b5mTg69cU/FKAj6dl4k8IuiH9U5ZiiV/Ff KQdwTOh3F3eKQ== Received: by mail-qt1-f169.google.com with SMTP id ck6so15474029qtb.7; Tue, 05 Jul 2022 13:34:35 -0700 (PDT) X-Gm-Message-State: AJIora+bmtb209lcYx90FvwpV6+4Vd1NXwOstJqb+KVAy3ySStXR27qi ZFvaE+Bh+j2duDxnDQQyI6LMhNByTXMVECl2rts= X-Received: by 2002:a0c:fe02:0:b0:473:1ca:51f1 with SMTP id x2-20020a0cfe02000000b0047301ca51f1mr6097581qvr.5.1657053274747; Tue, 05 Jul 2022 13:34:34 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Filipe Manana Date: Tue, 5 Jul 2022 21:33:58 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: bug in btrfs during low memory testing. To: Matthew Wilcox Cc: dai.ngo@oracle.com, linux-btrfs , gniebler@suse.com, "linux-nfs@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Tue, Jul 5, 2022 at 9:30 PM Matthew Wilcox wrote: > > On Tue, Jul 05, 2022 at 09:26:47PM +0100, Filipe Manana wrote: > > In this case we can actually call xa_insert() without holding that > > spinlock, it's safe against other concurrent calls to > > btrfs_get_or_create_delayed_node(), btrfs_get_delayed_node(), > > btrfs_kill_delayed_inode_items(), etc. > > > > However, looking at xa_insert() we have: > > > > xa_lock(xa); > > err = __xa_insert(xa, index, entry, gfp); > > xa_unlock(xa); > > > > And xa_lock() is defined as: > > > > #define xa_lock(xa) spin_lock(&(xa)->xa_lock) > > > > So we'll always be under a spinlock even if we change btrfs to not > > take the root->inode_lock spinlock. > > > > This seems more like a general problem outside btrfs' control. > > So CC'ing Willy to double check. > > No, the XArray knows about its own spinlock. It'll drop it if it needs > to allocate memory and the GFP flags indicate that the caller can sleep. > It doesn't know about your spinlock, so it can't do the same thing for > you ;-) Ah, that's good to know. Thanks Willy.