Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp788254imm; Fri, 28 Sep 2018 06:53:41 -0700 (PDT) X-Google-Smtp-Source: ACcGV60wySvf4MoXdCx7taxBMujOnu1UsjXEqpHFaLcKk4uinyuAa2/wSPPvSYCJRvsNA1IWW7cX X-Received: by 2002:a17:902:a618:: with SMTP id u24-v6mr16599829plq.77.1538142821759; Fri, 28 Sep 2018 06:53:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538142821; cv=none; d=google.com; s=arc-20160816; b=ZNlWAvfFK0VmBgCLUbqq3JUQWHGSf5Twl5bJKmpCPkVcbDRepNpWh1LEdm6sGgePdS wkolF2QHlrERr54qFuF8YRco6TWucWOYAHOz11MHqsM+Si3MHd/coe5wkpgjKWb/XdQz CKQAl+bbMLDFW4J9bMcgnm6pluag+Nu0Q0DWY+KxlJ4/40ZwzqieHVRcScDqkbWugXaT a1CghvwWb8zkE5XQPso2u9OJycXmy4O/Yx5/33/t/gOplezrAhzn4XHGV0HgK+Ib8fn+ J7GVSInW1+ZcD3TBVOdkhz3YOBCqYLPEK/Ds6CqT1nUTtzvYkSV28TDiFaGZ4UCPXXCl Yo2w== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject; bh=hgU51TE3SBKeaEuWDKs2axixkJJfyd5sfQ7bHdnhI6U=; b=mw4XwYhPx/6zY2gU59Ml8Lp+xALX4LzYM732VUL//orcYFZ41RFGD1zlY+7XvCf/c4 gp/mrThgsFhg7P6c0SrUNjSdX8kx0PksmOvcoBn8wZTyIMsWXt+UaeOJHNZwAEpcj6Q6 NxCYlko9naghbBZUZLRCNPqYxd61NNJ+385kURmWdWAaGcLfnMhD6rOH11z5XWLEne9l zXRRlVSTdwGXA6IReUdRLHFecp1iDjpptaJa3z9lN9i7zbiGNYJS/PVIJbil/uNxsHZW jwRAZIRDX1b2Vv/X5X7YJ7O6gpnCtKn+Zpbj1amXiMUeqsE9p8vuLN8RWtFZni3P7IA8 AgLQ== ARC-Authentication-Results: i=1; mx.google.com; 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 s188-v6si5000784pfs.255.2018.09.28.06.53.26; Fri, 28 Sep 2018 06:53:41 -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; 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 S1729138AbeI1UQv (ORCPT + 99 others); Fri, 28 Sep 2018 16:16:51 -0400 Received: from mx2.suse.de ([195.135.220.15]:37382 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726473AbeI1UQv (ORCPT ); Fri, 28 Sep 2018 16:16:51 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id A3777B0C4; Fri, 28 Sep 2018 13:52:56 +0000 (UTC) Subject: Re: [PATCH] xen/blkfront: correct purging of persistent grants To: Boris Ostrovsky , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, linux-block@vger.kernel.org Cc: roger.pau@citrix.com, konrad.wilk@oracle.com, axboe@kernel.dk References: <20180928072827.14229-1-jgross@suse.com> <95e32835-426f-36c9-a86a-09563f090f22@oracle.com> <772c3886-d4fe-b912-b125-a648b31a3074@suse.com> From: Juergen Gross Openpgp: preference=signencrypt Autocrypt: addr=jgross@suse.com; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Fri, 28 Sep 2018 15:52:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28/09/2018 15:33, Boris Ostrovsky wrote: > On 9/28/18 9:13 AM, Juergen Gross wrote: >> On 28/09/2018 14:45, Boris Ostrovsky wrote: >>> On 9/28/18 3:28 AM, Juergen Gross wrote: >>>> Commit a46b53672b2c2e3770b38a4abf90d16364d2584b ("xen/blkfront: cleanup >>>> stale persistent grants") introduced a regression as purged persistent >>>> grants were not pu into the list of free grants again. Correct that. >>>> >>>> Signed-off-by: Juergen Gross >>>> --- >>>> drivers/block/xen-blkfront.c | 4 ++-- >>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c >>>> index a71d817e900d..429d20131c7e 100644 >>>> --- a/drivers/block/xen-blkfront.c >>>> +++ b/drivers/block/xen-blkfront.c >>>> @@ -2670,8 +2670,8 @@ static void purge_persistent_grants(struct blkfront_info *info) >>>> list_del(&gnt_list_entry->node); >>>> gnttab_end_foreign_access(gnt_list_entry->gref, 0, 0UL); >>>> rinfo->persistent_gnts_c--; >>>> - __free_page(gnt_list_entry->page); >>>> - kfree(gnt_list_entry); >>>> + gnt_list_entry->gref = GRANT_INVALID_REF; >>>> + list_add_tail(&gnt_list_entry->node, &rinfo->grants); >>> Sorry, I don't follow this. What is the purpose of removing the grant >>> from rinfo->grants list with list_del() and then adding it back with >>> list_add_tail()? >> The persistent grants are at the list head and the non-persistent ones >> at the tail. > > Oh, I didn't realize that. But isn't that an optimization (and so not > following this rule should not cause errors)? In theory: yes. The persistent grant handling is rather complicated so I'd like to make sure not to deviate from the common standards. When I find some time I want to modify the persistent grant handling to be more explicit and controlled completely by the frontend (within the backend defined limits, of course). Until then we should try to modify persistent grants not too much IMO. Juergen