Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751535AbcCVUQu (ORCPT ); Tue, 22 Mar 2016 16:16:50 -0400 Received: from mga14.intel.com ([192.55.52.115]:63831 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750894AbcCVUQr (ORCPT ); Tue, 22 Mar 2016 16:16:47 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,378,1455004800"; d="scan'208";a="769344873" Date: Tue, 22 Mar 2016 14:16:10 -0600 From: Ross Zwisler To: "Kirill A. Shutemov" Cc: Andrew Morton , Alexander Viro , Linus Torvalds , Christoph Lameter , Matthew Wilcox , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Dan Williams , Vishal Verma , Ross Zwisler Subject: Re: [PATCH 13/71] nvdimm: get rid of PAGE_CACHE_* and page_cache_{get,release} macros Message-ID: <20160322201610.GB11164@linux.intel.com> Mail-Followup-To: Ross Zwisler , "Kirill A. Shutemov" , Andrew Morton , Alexander Viro , Linus Torvalds , Christoph Lameter , Matthew Wilcox , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Dan Williams , Vishal Verma References: <1458499278-1516-1-git-send-email-kirill.shutemov@linux.intel.com> <1458499278-1516-14-git-send-email-kirill.shutemov@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1458499278-1516-14-git-send-email-kirill.shutemov@linux.intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2466 Lines: 70 On Sun, Mar 20, 2016 at 09:40:20PM +0300, Kirill A. Shutemov wrote: > PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time ago > with promise that one day it will be possible to implement page cache with > bigger chunks than PAGE_SIZE. > > This promise never materialized. And unlikely will. > > We have many places where PAGE_CACHE_SIZE assumed to be equal to > PAGE_SIZE. And it's constant source of confusion on whether PAGE_CACHE_* > or PAGE_* constant should be used in a particular case, especially on the > border between fs and mm. > > Global switching to PAGE_CACHE_SIZE != PAGE_SIZE would cause to much > breakage to be doable. > > Let's stop pretending that pages in page cache are special. They are not. > > The changes are pretty straight-forward: > > - << (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> ; > > - PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -> PAGE_{SIZE,SHIFT,MASK,ALIGN}; > > - page_cache_get() -> get_page(); > > - page_cache_release() -> put_page(); > > Signed-off-by: Kirill A. Shutemov > Cc: Dan Williams > Cc: Vishal Verma > Cc: Ross Zwisler Sure, this seems right. Thanks for making this simpler. Reviewed-by: Ross Zwisler > --- > drivers/nvdimm/btt.c | 2 +- > drivers/nvdimm/pmem.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c > index c32cbb593600..f068b6513cd2 100644 > --- a/drivers/nvdimm/btt.c > +++ b/drivers/nvdimm/btt.c > @@ -1204,7 +1204,7 @@ static int btt_rw_page(struct block_device *bdev, sector_t sector, > { > struct btt *btt = bdev->bd_disk->private_data; > > - btt_do_bvec(btt, NULL, page, PAGE_CACHE_SIZE, 0, rw, sector); > + btt_do_bvec(btt, NULL, page, PAGE_SIZE, 0, rw, sector); > page_endio(page, rw & WRITE, 0); > return 0; > } > diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c > index ca5721c306bb..a1a29c711532 100644 > --- a/drivers/nvdimm/pmem.c > +++ b/drivers/nvdimm/pmem.c > @@ -151,7 +151,7 @@ static int pmem_rw_page(struct block_device *bdev, sector_t sector, > struct pmem_device *pmem = bdev->bd_disk->private_data; > int rc; > > - rc = pmem_do_bvec(pmem, page, PAGE_CACHE_SIZE, 0, rw, sector); > + rc = pmem_do_bvec(pmem, page, PAGE_SIZE, 0, rw, sector); > if (rw & WRITE) > wmb_pmem(); > > -- > 2.7.0 >