From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 06/20] block/xen-blkfront: Store a page rather a pfn in the grant structure Date: Thu, 23 Jul 2015 18:18:08 +0100 Message-ID: <55B121D0.8070507__8698.16883137009$1437672013$gmane$org@citrix.com> References: <1436474552-31789-1-git-send-email-julien.grall@citrix.com> <1436474552-31789-7-git-send-email-julien.grall@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZIK97-0007cI-2K for xen-devel@lists.xenproject.org; Thu, 23 Jul 2015 17:19:01 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: ian.campbell@citrix.com, linux-kernel@vger.kernel.org, David Vrabel , xen-devel@lists.xenproject.org, Boris Ostrovsky , linux-arm-kernel@lists.infradead.org, =?windows-1252?Q?Roger_Pau_Mon?= =?windows-1252?Q?n=E9?= List-Id: xen-devel@lists.xenproject.org Hi Stefano, On 16/07/15 16:11, Stefano Stabellini wrote: > On Thu, 9 Jul 2015, Julien Grall wrote: >> All the usage of the field pfn are done using the same idiom: >> >> pfn_to_page(grant->pfn) >> >> This will return always the same page. Store directly the page in the >> grant to clean up the code. >> >> Signed-off-by: Julien Grall >> Cc: Konrad Rzeszutek Wilk >> Cc: Roger Pau Monn=E9 >> Cc: Boris Ostrovsky >> Cc: David Vrabel >> --- >> Changes in v2: >> - Patch added >> --- >> drivers/block/xen-blkfront.c | 37 ++++++++++++++++++------------------- >> 1 file changed, 18 insertions(+), 19 deletions(-) >> >> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c >> index 7107d58..7b81d23 100644 >> --- a/drivers/block/xen-blkfront.c >> +++ b/drivers/block/xen-blkfront.c >> @@ -67,7 +67,7 @@ enum blkif_state { >> = >> struct grant { >> grant_ref_t gref; >> - unsigned long pfn; >> + struct page *page; >> struct list_head node; >> }; >> = >> @@ -219,7 +219,7 @@ static int fill_grant_buffer(struct blkfront_info *i= nfo, int num) >> kfree(gnt_list_entry); >> goto out_of_memory; >> } >> - gnt_list_entry->pfn =3D page_to_pfn(granted_page); >> + gnt_list_entry->page =3D granted_page; >> } >> = >> gnt_list_entry->gref =3D GRANT_INVALID_REF; >> @@ -234,7 +234,7 @@ out_of_memory: >> &info->grants, node) { >> list_del(&gnt_list_entry->node); >> if (info->feature_persistent) >> - __free_page(pfn_to_page(gnt_list_entry->pfn)); >> + __free_page(gnt_list_entry->page); >> kfree(gnt_list_entry); >> i--; >> } >> @@ -243,7 +243,7 @@ out_of_memory: >> } >> = >> static struct grant *get_grant(grant_ref_t *gref_head, >> - unsigned long pfn, >> + struct page *page, >> struct blkfront_info *info) > = > indentation The indentation of the parameters wasn't valid. I will indent correctly "struct blkfront_info *info" rather than to use invalid indent. > Aside from this: > = > Reviewed-by: Stefano Stabellini Thank you, Regards, -- = Julien Grall