Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp937981pxb; Thu, 19 Nov 2020 18:31:00 -0800 (PST) X-Google-Smtp-Source: ABdhPJyqNn+Wtu2aY7INHp61moLLtHsX/AoRzGzmuqvywy6q+thDZoT5T+ulID43EsxrYjrRxIgo X-Received: by 2002:a17:906:6897:: with SMTP id n23mr8131431ejr.458.1605839460723; Thu, 19 Nov 2020 18:31:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605839460; cv=none; d=google.com; s=arc-20160816; b=XndWfWLyIAXOUgZ4MdBGrpj1AfCsf7CSvJasE0qGrOJ6ZmlfySqiX5ueQC3R02jbrB RLOhRDgjM/FSMSElkkbxHIRWFTvqtuAQbkvsNvSGQ7JTEipc4W0i7R/mhkeSgCJSZgsK o4ZKy4ZWIBrEYwo51FCM2Z/9HEHWu331NcgneCBVc6pBkKRDXLVvshQMXAsrxzupVBSb K/UibZ9jgbcRiSDsjp/SacJaa0DWpT5RThSeg7ui1327AyIQeUYFnCzsaHJ5lR3+L7zt nQfDxArC839C8PXrjG5+B5SK52e0IJpG0ketJj2bGv65U9/NE2lpMZ+Y7NZnRt9xAvks mhSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=i6u3WzVghpJP3a/TjY2xpgmv7XXEg042KrVmKxh7eVo=; b=pLd+4YfKdOuMPVpfjS7yxK4eYCJbZqvB/iinfBCb4rCQUleX2VHF3xqn/E/jSVbNAP NMFwr/F3j2uah1e7RT9CY5vOQLYFxl28/omvVHsJ8affGwB1swpVZBrTrD1/ZuMyXEEo J9f4RQm2kbwCQqTmu0IHftQJsZUjkxQIWB0etm995mCDXyXxrrQQtGODOcy/rSN3kuJz qdhaPttK2+vY3jCqewxgVAF463O475Cs4hiOux9YLNkh6455gLvDUltH+Vg/rLiwdbND 4WJptGsstg5mNIJoDGmoXqlTEDeFZ7x51YLKdeELj46a66yQk87TjYha/alFu/VfIydZ eI5w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id oz16si910757ejb.415.2020.11.19.18.30.37; Thu, 19 Nov 2020 18:31:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726985AbgKTCZr (ORCPT + 99 others); Thu, 19 Nov 2020 21:25:47 -0500 Received: from szxga07-in.huawei.com ([45.249.212.35]:8375 "EHLO szxga07-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726172AbgKTCZr (ORCPT ); Thu, 19 Nov 2020 21:25:47 -0500 Received: from DGGEMS406-HUB.china.huawei.com (unknown [172.30.72.60]) by szxga07-in.huawei.com (SkyGuard) with ESMTP id 4CcgPh1xSJz6xZ6; Fri, 20 Nov 2020 10:25:28 +0800 (CST) Received: from [127.0.0.1] (10.174.176.144) by DGGEMS406-HUB.china.huawei.com (10.3.19.206) with Microsoft SMTP Server id 14.3.487.0; Fri, 20 Nov 2020 10:25:42 +0800 Subject: Re: [PATCH 1/1] block: move the PAGE_SECTORS definition into To: John Dorminy CC: Coly Li , Jens Axboe , Kent Overstreet , Alasdair Kergon , Mike Snitzer , dm-devel , linux-block , linux-kernel , linux-bcache References: <20200821020345.3358-1-thunder.leizhen@huawei.com> <8aa638b7-6cfd-bf3d-8015-fbe59f28f31f@suse.de> From: "Leizhen (ThunderTown)" Message-ID: Date: Fri, 20 Nov 2020 10:25:41 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.174.176.144] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020/11/20 9:27, John Dorminy wrote: > Greetings; > > There are a lot of uses of PAGE_SIZE/SECTOR_SIZE scattered around, and > it seems like a medium improvement to be able to refer to it as > PAGE_SECTORS everywhere instead of just inside dm, bcache, and > null_blk. Did this change progress forward somewhere? Actually, I'm trying to make further replacements after this patch is applied. But there was no response except Coly Li. > > Thanks! > > John Dorminy > > > On Mon, Sep 7, 2020 at 3:40 AM Leizhen (ThunderTown) > wrote: >> >> Hi, Jens Axboe, Alasdair Kergon, Mike Snitzer: >> What's your opinion? >> >> >> On 2020/8/21 15:05, Coly Li wrote: >>> On 2020/8/21 14:48, Leizhen (ThunderTown) wrote: >>>> >>>> >>>> On 8/21/2020 12:11 PM, Coly Li wrote: >>>>> On 2020/8/21 10:03, Zhen Lei wrote: >>>>>> There are too many PAGE_SECTORS definitions, and all of them are the >>>>>> same. It looks a bit of a mess. So why not move it into , >>>>>> to achieve a basic and unique definition. >>>>>> >>>>>> Signed-off-by: Zhen Lei >>>>> >>>>> >>>>> A lazy question about page size > 4KB: currently in bcache code the >>>>> sector size is assumed to be 512 sectors, if kernel page > 4KB, it is >>>>> possible that PAGE_SECTORS in bcache will be a number > 8 ? >>>> >>>> Sorry, I don't fully understand your question. I known that the sector size >>>> can be 512 or 4K, and the PAGE_SIZE can be 4K or 64K. So even if sector size >>>> is 4K, isn't it greater than 8 for 64K pages? >>>> >>>> I'm not sure if the question you're asking is the one Matthew Wilcox has >>>> answered before: >>>> https://www.spinics.net/lists/raid/msg64345.html >>> >>> Thank you for the above information. Currently bcache code assumes >>> sector size is always 512 bytes, you may see how many "<< 9" or ">> 9" >>> are used. Therefore I doubt whether current code may stably work on e.g. >>> 4Kn SSDs (this is only doubt because I don't have such SSD). >>> >>> Anyway your patch is fine to me. This change to bcache doesn't make >>> thins worse or better, maybe it can be helpful to trigger my above >>> suspicious early if people do have this kind of problem on 4Kn sector SSDs. >>> >>> For the bcache part of this patch, you may add, >>> Acked-by: Coly Li >>> >>> Thanks. >>> >>> Coly Li >>> >>>>>> --- >>>>>> drivers/block/brd.c | 1 - >>>>>> drivers/block/null_blk_main.c | 1 - >>>>>> drivers/md/bcache/util.h | 2 -- >>>>>> include/linux/blkdev.h | 5 +++-- >>>>>> include/linux/device-mapper.h | 1 - >>>>>> 5 files changed, 3 insertions(+), 7 deletions(-) >>>>>> >>>>> >>>>> [snipped] >>>>> >>>>>> diff --git a/drivers/md/bcache/util.h b/drivers/md/bcache/util.h >>>>>> index c029f7443190805..55196e0f37c32c6 100644 >>>>>> --- a/drivers/md/bcache/util.h >>>>>> +++ b/drivers/md/bcache/util.h >>>>>> @@ -15,8 +15,6 @@ >>>>>> >>>>>> #include "closure.h" >>>>>> >>>>>> -#define PAGE_SECTORS (PAGE_SIZE / 512) >>>>>> - >>>>>> struct closure; >>>>>> >>>>>> #ifdef CONFIG_BCACHE_DEBUG >>>>>> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h >>>>>> index bb5636cc17b91a7..b068dfc5f2ef0ab 100644 >>>>>> --- a/include/linux/blkdev.h >>>>>> +++ b/include/linux/blkdev.h >>>>>> @@ -949,11 +949,12 @@ static inline struct request_queue *bdev_get_queue(struct block_device *bdev) >>>>>> * multiple of 512 bytes. Hence these two constants. >>>>>> */ >>>>>> #ifndef SECTOR_SHIFT >>>>>> -#define SECTOR_SHIFT 9 >>>>>> +#define SECTOR_SHIFT 9 >>>>>> #endif >>>>>> #ifndef SECTOR_SIZE >>>>>> -#define SECTOR_SIZE (1 << SECTOR_SHIFT) >>>>>> +#define SECTOR_SIZE (1 << SECTOR_SHIFT) >>>>>> #endif >>>>>> +#define PAGE_SECTORS (PAGE_SIZE / SECTOR_SIZE) >>>>>> >>>>>> /* >>>>>> * blk_rq_pos() : the current sector >>>>> [snipped] >>>>> >>>>> >>>> >>> >>> >>> . >>> >> > > > . >