Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp239768imu; Fri, 25 Jan 2019 01:17:28 -0800 (PST) X-Google-Smtp-Source: ALg8bN4vbELWN6PrJdod5kvqADqCN8GDcJpkBgv15h6tAvNss8NSwRAX+40CBlXPzV4+XKv+5XuK X-Received: by 2002:a63:111c:: with SMTP id g28mr9126781pgl.85.1548407848622; Fri, 25 Jan 2019 01:17:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548407848; cv=none; d=google.com; s=arc-20160816; b=IY2mu6oBmpDmcHL+TVmTGK4oh3o9ZI8V1EiKrZxgKlnPA6skth5QEyZXVQqTvlRhhQ rcm1eVAwxKaFnPh7fFh0PkFdg+zLpv1g+RQ6Qul1iWLB0Xq9Vxlp8oSf5lp+nBVqaIe9 oiPRT8TlZl7nDUVBHabHfXAZzxsXWlFRoPMt3UFuHn1b1xbRoLUQAy+hux/KpWDAYclX 0zYAr7SgeB+hHuXSbAADcgCzaF0uKtH+2BpBK5qIYJ575r1SJ+DIdeB+Nh/R3zsSZbH4 qgr1T8QbxmqVOdRwLPB2ceSJ651qZ/eFeAbUgMi+n9ERcR25aKhPA7AaMNk/V5Tq0MOH NVJQ== 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:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=CfqQ1Z6m4s/zG4lB3JwG+9674COrG8YbS4ffn1hDPmk=; b=H/8oNq37Y/v8f0xvHsJvCsDF6878iyeNLprhvKu9WQqqv9PK0MY5ScKx7V80TafQNR UVSDp0V4+2eDrgBfac7AMV9BOXut4U4SsEPqgE2ih5prI4oDOexBmUaro49a+U7ESvny R1bOICeCAkTXObt+dCDaa0V56YFkIWdNoXXwHjSM62VHsvRDldKKnLKDr+poG+wuLuMR ZM59zoheunFSkPbmDTyJ6tZMsbxNfoBqh1m0kT1ieu0ILdwrSkKgPzPENqPDkw5kzyCQ EYuymvVA6HKeOArKxMa3fQFaTVdtjCQi4mPVRHSh4z8yKSVj/gwXc8tZx3O/4qv4bWVB Nw8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@owltronix-com.20150623.gappssmtp.com header.s=20150623 header.b=nNEWwniE; 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 g5si10013888plo.108.2019.01.25.01.17.13; Fri, 25 Jan 2019 01:17:28 -0800 (PST) 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=@owltronix-com.20150623.gappssmtp.com header.s=20150623 header.b=nNEWwniE; 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 S1728905AbfAYJPo (ORCPT + 99 others); Fri, 25 Jan 2019 04:15:44 -0500 Received: from mail-vk1-f196.google.com ([209.85.221.196]:46989 "EHLO mail-vk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726817AbfAYJPn (ORCPT ); Fri, 25 Jan 2019 04:15:43 -0500 Received: by mail-vk1-f196.google.com with SMTP id j23so1969768vke.13 for ; Fri, 25 Jan 2019 01:15:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=owltronix-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=CfqQ1Z6m4s/zG4lB3JwG+9674COrG8YbS4ffn1hDPmk=; b=nNEWwniErbNNgIa865BF0Yrkl9DFvmu1mOh0GnkwcjQ+wV/qh7d4+yW3fpoP2dPbtF SL/x8vk6xN+pHsAgs5/76i93Sz/TZLox41Z5k9mz73MEM5yGTFlg4rm3/CjicVyftcoI kSXKIzggWxheK1gsaVKCx0Sg9PGl0n/xPz9dwLWfMDWiqzg4zNZSbI89JUWCXU2b7SfR UC1tX6p8/9w33GnwwovQExm01aeqhbbYOX+iNx2X4EuFo8GXfzMul5L75axpsPUesbg/ dpuaxWQOFBhIm7Bohpq31wKUxduXUwePDWuooUU5StkJyk9IzyttitePcqiNP5MIj184 LdSg== 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:content-transfer-encoding; bh=CfqQ1Z6m4s/zG4lB3JwG+9674COrG8YbS4ffn1hDPmk=; b=D2F1uAEZ/D1oL4EzZyfMpFUBbGiZfVRXa2plhiG2g9i2wIE4NMae2Nq+dYFmAwaFO4 9V/7Dh5sbm2E8mqRPQHb83286OWIRAVrvriiztqhll5FKAft16MWgTWYLaTC7X+xc7IX qVDqMO/CVyJD919BojYgwJyXcmburPj2LY4ue7Ql1hMi1KJoQz+wrVzGvbYGnF8wBPuW wxGVpThwFfe8XQ8NCuLFTgSQBsVzWTZXuHCchu9EQIdGSgDGEs5ESBiYgl/5zcSSZpV2 OqFS83nHCZ3mq+CH7w/GAEVYhs9Q8TmqiDTwJ+y8qhDqMdponrcmYYNQ1xuuOjJCihB3 FWvg== X-Gm-Message-State: AJcUukcVD6cqinOLXCeP8Ez6ELV70AYbUAyB5ZKiyfqKz9Dma1B8jZj9 D/ypXvN3e5Ps+Yt3yUC/63yHPxMJLyfOqNFYIpZMtjnw X-Received: by 2002:a1f:4d47:: with SMTP id a68mr4057468vkb.34.1548407742311; Fri, 25 Jan 2019 01:15:42 -0800 (PST) MIME-Version: 1.0 References: <20190122101531.30893-1-hans@owltronix.com> <251D7CB9-A9B0-4474-85A0-B0C23DB31272@javigon.com> In-Reply-To: <251D7CB9-A9B0-4474-85A0-B0C23DB31272@javigon.com> From: Hans Holmberg Date: Fri, 25 Jan 2019 10:15:31 +0100 Message-ID: Subject: Re: [PATCH] lightnvm: pblk: stop taking the free lock in in pblk_lines_free To: =?UTF-8?Q?Javier_Gonz=C3=A1lez?= Cc: =?UTF-8?Q?Matias_Bj=C3=B8rling?= , linux-block@vger.kernel.org, Linux Kernel Mailing List , Hans Holmberg Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 24, 2019 at 2:19 PM Javier Gonz=C3=A1lez w= rote: > > > On 22 Jan 2019, at 11.15, hans@owltronix.com wrote: > > > > From: Hans Holmberg > > > > pblk_line_meta_free might sleep (it can end up calling vfree, depending > > on how we allocate lba lists), and this can lead to a BUG() > > if we wake up on a different cpu and release the lock. > > > > As there is no point of grabbing the free lock when pblk has shut down, > > remove the lock. > > > > Signed-off-by: Hans Holmberg > > --- > > drivers/lightnvm/pblk-init.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.= c > > index f9a3e47b6a93..eb0135c77805 100644 > > --- a/drivers/lightnvm/pblk-init.c > > +++ b/drivers/lightnvm/pblk-init.c > > @@ -584,14 +584,12 @@ static void pblk_lines_free(struct pblk *pblk) > > struct pblk_line *line; > > int i; > > > > - spin_lock(&l_mg->free_lock); > > for (i =3D 0; i < l_mg->nr_lines; i++) { > > line =3D &pblk->lines[i]; > > > > pblk_line_free(line); > > pblk_line_meta_free(l_mg, line); > > } > > - spin_unlock(&l_mg->free_lock); > > > > pblk_line_mg_free(pblk); > > > > -- > > 2.17.1 > > Can you add a comment too indicating that this is only safe on a single > threaded shutdown? To be able to free the lines, we need have stopped anything accessing the lines first. That seems obvious to me. It would be nice to make a pass over the code and document pblk's locking(and other concurrency handling, like the line krefs) though. Thanks, Hans > > Otherwise the patch looks good. > > Reviewed-by: Javier Gonz=C3=A1lez >