From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932737AbcA2Rqa (ORCPT ); Fri, 29 Jan 2016 12:46:30 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:60999 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932637AbcA2Rq0 (ORCPT ); Fri, 29 Jan 2016 12:46:26 -0500 Subject: Re: [PATCH 2/2] block: use DAX for partition table reads To: Dan Williams , References: <20160129151835.18752.9423.stgit@dwillia2-desk3.amr.corp.intel.com> <20160129151846.18752.48460.stgit@dwillia2-desk3.amr.corp.intel.com> CC: , Dave Chinner , , Christoph Hellwig , Jeff Moyer , Jan Kara , , Matthew Wilcox , Andrew Morton , Ross Zwisler From: Jens Axboe Message-ID: <56ABA561.9070606@fb.com> Date: Fri, 29 Jan 2016 10:46:09 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160129151846.18752.48460.stgit@dwillia2-desk3.amr.corp.intel.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [192.168.54.13] X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-01-29_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/29/2016 08:18 AM, Dan Williams wrote: > +unsigned char *read_dev_sector(struct block_device *bdev, sector_t n, Sector *p) > +{ > struct page *page; > > - page = read_mapping_page(mapping, (pgoff_t)(n >> (PAGE_CACHE_SHIFT-9)), > - NULL); > + /* don't populate page cache for dax capable devices */ > + if (IS_DAX(bdev->bd_inode)) > + page = read_dax_sector(bdev, n); > + else > + page = read_pagecache_sector(bdev, n); > + Fall back to non-dax, if dax fails? > +struct page *read_dax_sector(struct block_device *bdev, sector_t n) > +{ > + struct page *page = __page_cache_alloc(GFP_KERNEL | __GFP_COLD); Why isn't that just alloc_pages()? -- Jens Axboe