Linux-NVDIMM Archive on lore.kernel.org
 help / color / Atom feed
From: kernel test robot <lkp@intel.com>
To: Dan Williams <dan.j.williams@intel.com>, akpm@linux-foundation.org
Cc: kbuild-all@lists.01.org, Joao Martins <joao.m.martins@oracle.com>,
	peterz@infradead.org, dave.hansen@linux.intel.com,
	ard.biesheuvel@linaro.org, linux-mm@kvack.org,
	linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCH v3 20/23] device-dax: Make align a per-device property
Date: Sat, 1 Aug 2020 15:23:17 +0800
Message-ID: <202008011532.YC0rRGs1%lkp@intel.com> (raw)
In-Reply-To: <159625241066.3040297.5565166696242815434.stgit@dwillia2-desk3.amr.corp.intel.com>

Hi Dan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 01830e6c042e8eb6eb202e05d7df8057135b4c26]

url:    https://github.com/0day-ci/linux/commits/Dan-Williams/device-dax-Support-sub-dividing-soft-reserved-ranges/20200801-114823
base:    01830e6c042e8eb6eb202e05d7df8057135b4c26
config: s390-allyesconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=s390 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/dax/device.c:54:20: warning: no previous prototype for 'dax_pgoff_to_phys' [-Wmissing-prototypes]
      54 | __weak phys_addr_t dax_pgoff_to_phys(struct dev_dax *dev_dax, pgoff_t pgoff,
         |                    ^~~~~~~~~~~~~~~~~
   drivers/dax/device.c: In function '__dev_dax_pte_fault':
>> drivers/dax/device.c:80:21: warning: variable 'dax_region' set but not used [-Wunused-but-set-variable]
      80 |  struct dax_region *dax_region;
         |                     ^~~~~~~~~~
   drivers/dax/device.c: In function '__dev_dax_pmd_fault':
   drivers/dax/device.c:113:21: warning: variable 'dax_region' set but not used [-Wunused-but-set-variable]
     113 |  struct dax_region *dax_region;
         |                     ^~~~~~~~~~
   drivers/dax/device.c: At top level:
   drivers/dax/device.c:397:5: warning: no previous prototype for 'dev_dax_probe' [-Wmissing-prototypes]
     397 | int dev_dax_probe(struct dev_dax *dev_dax)
         |     ^~~~~~~~~~~~~

vim +/dax_region +80 drivers/dax/device.c

dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   52  
efebc711180f7fe drivers/dax/dax.c    Dave Jiang   2017-04-07   53  /* see "strong" declaration in tools/testing/nvdimm/dax-dev.c */
736163671bcb163 drivers/dax/device.c Dan Williams 2017-05-04  @54  __weak phys_addr_t dax_pgoff_to_phys(struct dev_dax *dev_dax, pgoff_t pgoff,
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   55  		unsigned long size)
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   56  {
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   57  	int i;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   58  
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   59  	for (i = 0; i < dev_dax->nr_range; i++) {
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   60  		struct dev_dax_range *dax_range = &dev_dax->ranges[i];
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   61  		struct range *range = &dax_range->range;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   62  		unsigned long long pgoff_end;
753a0850e707e9a drivers/dax/device.c Dan Williams 2017-07-14   63  		phys_addr_t phys;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   64  
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   65  		pgoff_end = dax_range->pgoff + PHYS_PFN(range_len(range)) - 1;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   66  		if (pgoff < dax_range->pgoff || pgoff > pgoff_end)
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   67  			continue;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   68  		phys = PFN_PHYS(pgoff - dax_range->pgoff) + range->start;
e8f1f803fc7e653 drivers/dax/device.c Dan Williams 2020-07-31   69  		if (phys + size - 1 <= range->end)
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   70  			return phys;
4d3c109cf2a8406 drivers/dax/device.c Dan Williams 2020-07-31   71  		break;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   72  	}
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   73  	return -1;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   74  }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   75  
226ab561075f6f8 drivers/dax/device.c Dan Williams 2018-07-13   76  static vm_fault_t __dev_dax_pte_fault(struct dev_dax *dev_dax,
2232c6382a453db drivers/dax/device.c Dan Williams 2018-07-13   77  				struct vm_fault *vmf, pfn_t *pfn)
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   78  {
5f0694b300b9fb8 drivers/dax/dax.c    Dan Williams 2017-01-30   79  	struct device *dev = &dev_dax->dev;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  @80  	struct dax_region *dax_region;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   81  	phys_addr_t phys;
0134ed4fb9e7867 drivers/dax/dax.c    Dave Jiang   2017-03-10   82  	unsigned int fault_size = PAGE_SIZE;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   83  
5f0694b300b9fb8 drivers/dax/dax.c    Dan Williams 2017-01-30   84  	if (check_vma(dev_dax, vmf->vma, __func__))
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   85  		return VM_FAULT_SIGBUS;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   86  
5f0694b300b9fb8 drivers/dax/dax.c    Dan Williams 2017-01-30   87  	dax_region = dev_dax->region;
58e646f2ce61dc9 drivers/dax/device.c Joao Martins 2020-07-31   88  	if (dev_dax->align > PAGE_SIZE) {
6daaca522ab464d drivers/dax/device.c Dan Williams 2018-03-05   89  		dev_dbg(dev, "alignment (%#x) > fault size (%#x)\n",
58e646f2ce61dc9 drivers/dax/device.c Joao Martins 2020-07-31   90  			dev_dax->align, fault_size);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   91  		return VM_FAULT_SIGBUS;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   92  	}
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   93  
58e646f2ce61dc9 drivers/dax/device.c Joao Martins 2020-07-31   94  	if (fault_size != dev_dax->align)
0134ed4fb9e7867 drivers/dax/dax.c    Dave Jiang   2017-03-10   95  		return VM_FAULT_SIGBUS;
0134ed4fb9e7867 drivers/dax/dax.c    Dave Jiang   2017-03-10   96  
736163671bcb163 drivers/dax/device.c Dan Williams 2017-05-04   97  	phys = dax_pgoff_to_phys(dev_dax, vmf->pgoff, PAGE_SIZE);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14   98  	if (phys == -1) {
6daaca522ab464d drivers/dax/device.c Dan Williams 2018-03-05   99  		dev_dbg(dev, "pgoff_to_phys(%#lx) failed\n", vmf->pgoff);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  100  		return VM_FAULT_SIGBUS;
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  101  	}
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  102  
e651e2e797b48fb drivers/dax/device.c Dan Williams 2020-07-31  103  	*pfn = phys_to_pfn_t(phys, PFN_DEV|PFN_MAP);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  104  
2232c6382a453db drivers/dax/device.c Dan Williams 2018-07-13  105  	return vmf_insert_mixed(vmf->vma, vmf->address, *pfn);
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  106  }
dee410792419aaa drivers/dax/dax.c    Dan Williams 2016-05-14  107  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org

  reply index

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-01  3:24 [PATCH v3 00/23] device-dax: Support sub-dividing soft-reserved ranges Dan Williams
2020-08-01  3:25 ` [PATCH v3 01/23] x86/numa: Cleanup configuration dependent command-line options Dan Williams
2020-08-01  3:25 ` [PATCH v3 02/23] x86/numa: Add 'nohmat' option Dan Williams
2020-08-01  3:51   ` Randy Dunlap
2020-08-01 16:36     ` Dan Williams
2020-08-01  3:25 ` [PATCH v3 03/23] efi/fake_mem: Arrange for a resource entry per efi_fake_mem instance Dan Williams
2020-08-01  3:25 ` [PATCH v3 04/23] ACPI: HMAT: Refactor hmat_register_target_device to hmem_register_device Dan Williams
2020-08-01  3:25 ` [PATCH v3 05/23] resource: Report parent to walk_iomem_res_desc() callback Dan Williams
2020-08-01  3:25 ` [PATCH v3 06/23] mm/memory_hotplug: Introduce default phys_to_target_node() implementation Dan Williams
2020-08-01  6:24   ` kernel test robot
2020-08-01 16:39   ` kernel test robot
2020-08-01  3:25 ` [PATCH v3 07/23] ACPI: HMAT: Attach a device for each soft-reserved range Dan Williams
2020-08-01  3:25 ` [PATCH v3 08/23] device-dax: Drop the dax_region.pfn_flags attribute Dan Williams
2020-08-01  3:25 ` [PATCH v3 09/23] device-dax: Move instance creation parameters to 'struct dev_dax_data' Dan Williams
2020-08-01  3:25 ` [PATCH v3 10/23] device-dax: Make pgmap optional for instance creation Dan Williams
2020-08-01  3:26 ` [PATCH v3 11/23] device-dax: Kill dax_kmem_res Dan Williams
2020-08-01  3:26 ` [PATCH v3 12/23] device-dax: Add an allocation interface for device-dax instances Dan Williams
2020-08-01  3:26 ` [PATCH v3 13/23] device-dax: Introduce 'seed' devices Dan Williams
2020-08-01  3:26 ` [PATCH v3 14/23] drivers/base: Make device_find_child_by_name() compatible with sysfs inputs Dan Williams
2020-08-01  3:26 ` [PATCH v3 15/23] device-dax: Add resize support Dan Williams
2020-08-01  3:26 ` [PATCH v3 16/23] mm/memremap_pages: Convert to 'struct range' Dan Williams
2020-08-01  3:26 ` [PATCH v3 17/23] mm/memremap_pages: Support multiple ranges per invocation Dan Williams
2020-08-01  3:26 ` [PATCH v3 18/23] device-dax: Add dis-contiguous resource support Dan Williams
2020-08-01  3:26 ` [PATCH v3 19/23] device-dax: Introduce 'mapping' devices Dan Williams
2020-08-01  3:26 ` [PATCH v3 20/23] device-dax: Make align a per-device property Dan Williams
2020-08-01  7:23   ` kernel test robot [this message]
2020-08-01  3:26 ` [PATCH v3 21/23] device-dax: Add an 'align' attribute Dan Williams
2020-08-01  6:14   ` kernel test robot
2020-08-01  6:18   ` kernel test robot
2020-08-01  3:27 ` [PATCH v3 22/23] dax/hmem: Introduce dax_hmem.region_idle parameter Dan Williams
2020-08-01  3:27 ` [PATCH v3 23/23] device-dax: Add a range mapping allocation attribute Dan Williams
2020-08-04 17:02 ` [PATCH v3 00/23] device-dax: Support sub-dividing soft-reserved ranges Jason Gunthorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202008011532.YC0rRGs1%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=joao.m.martins@oracle.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-NVDIMM Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-nvdimm/0 linux-nvdimm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-nvdimm linux-nvdimm/ https://lore.kernel.org/linux-nvdimm \
		linux-nvdimm@lists.01.org
	public-inbox-index linux-nvdimm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.01.lists.linux-nvdimm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git