From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2AD4DC43461 for ; Tue, 15 Sep 2020 00:52:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BA54020897 for ; Tue, 15 Sep 2020 00:52:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726100AbgIOAwm (ORCPT ); Mon, 14 Sep 2020 20:52:42 -0400 Received: from mga07.intel.com ([134.134.136.100]:12548 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725994AbgIOAwi (ORCPT ); Mon, 14 Sep 2020 20:52:38 -0400 IronPort-SDR: MNRhoobYg5LjAaziq9Fp6f12xeqANxyfCwieu0bz0tj2WR0qpPc+c0Dgg9VRyqHrxDo2Pv49k3 9regs/6WbaGQ== X-IronPort-AV: E=McAfee;i="6000,8403,9744"; a="223364932" X-IronPort-AV: E=Sophos;i="5.76,427,1592895600"; d="gz'50?scan'50,208,50";a="223364932" X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2020 17:52:31 -0700 IronPort-SDR: 4NrTP9TXc9529w6q9fCi9ZHSPLtaMxP0D5Yqqk7FmBkfo+FXkybHih+/ptaoAIhOu7SMjj5W8y XWAlPEfEY+mg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,427,1592895600"; d="gz'50?scan'50,208,50";a="330957882" Received: from lkp-server01.sh.intel.com (HELO 29c0528c516b) ([10.239.97.150]) by fmsmga004.fm.intel.com with ESMTP; 14 Sep 2020 17:52:27 -0700 Received: from kbuild by 29c0528c516b with local (Exim 4.92) (envelope-from ) id 1kHzCs-00000q-Ck; Tue, 15 Sep 2020 00:52:26 +0000 Date: Tue, 15 Sep 2020 08:52:24 +0800 From: kernel test robot To: Thomas Gleixner , LKML Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com, linux-arch@vger.kernel.org, Sebastian Andrzej Siewior , Valentin Schneider , Andrew Morton , Linux Memory Management List , Richard Henderson , Ivan Kokshaysky , Matt Turner , linux-alpha@vger.kernel.org Subject: Re: [patch 05/13] mm/pagemap: Clenaup PREEMPT_COUNT leftovers Message-ID: <202009150801.cgJKGy06%lkp@intel.com> References: <20200914204441.486057928@linutronix.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="CE+1k2dSO48ffgeK" Content-Disposition: inline In-Reply-To: <20200914204441.486057928@linutronix.de> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --CE+1k2dSO48ffgeK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on linus/master v5.9-rc5 next-20200914] [cannot apply to rcu/dev arm/for-next tip/sched/core linux/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Thomas-Gleixner/preempt-Make-preempt-count-unconditional/20200915-044640 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: arm-randconfig-r002-20200914 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project b2c32c90bab09a6e2c1f370429db26017a182143) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from drivers/scsi/scsi.c:47: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a function or function pointer VM_BUG_ON_PAGE(page_count(page) == 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/scsi.c:62: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ 1 warning and 1 error generated. -- In file included from drivers/scsi/scsicam.c:19: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a function or function pointer VM_BUG_ON_PAGE(page_count(page) == 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ 1 error generated. -- In file included from drivers/scsi/scsi_sysfs.c:13: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a function or function pointer VM_BUG_ON_PAGE(page_count(page) == 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/scsi_sysfs.c:20: In file included from include/scsi/scsi_tcq.h:6: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ drivers/scsi/scsi_sysfs.c:373:1: warning: format specifies type 'short' but the argument has type 'int' [-Wformat] shost_rd_attr(can_queue, "%hd\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %d drivers/scsi/scsi_sysfs.c:176:45: note: expanded from macro 'shost_rd_attr' #define shost_rd_attr(field, format_string) \ ^ drivers/scsi/scsi_sysfs.c:173:2: note: expanded from macro '\ shost_rd_attr2' shost_show_function(name, field, format_string) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/scsi_sysfs.c:165:43: note: expanded from macro 'shost_show_function' return snprintf (buf, 20, format_string, shost->field); \ ~~~~~~~~~~~~~ ^~~~~~~~~~~~ 2 warnings and 1 error generated. -- In file included from drivers/scsi/ufs/ufshcd.c:18: In file included from drivers/scsi/ufs/ufshcd.h:32: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a function or function pointer VM_BUG_ON_PAGE(page_count(page) == 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/ufs/ufshcd.c:18: In file included from drivers/scsi/ufs/ufshcd.h:41: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ >> drivers/scsi/ufs/ufshcd.c:8716:44: warning: shift count >= width of type [-Wshift-count-overflow] if (!dma_set_mask_and_coherent(hba->dev, DMA_BIT_MASK(64))) ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 2 warnings and 1 error generated. -- In file included from drivers/scsi/hisi_sas/hisi_sas_main.c:7: In file included from drivers/scsi/hisi_sas/hisi_sas.h:16: In file included from include/linux/libata.h:21: In file included from include/scsi/scsi_host.h:11: In file included from include/linux/blk-mq.h:5: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a function or function pointer VM_BUG_ON_PAGE(page_count(page) == 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ >> drivers/scsi/hisi_sas/hisi_sas_main.c:2579:41: warning: shift count >= width of type [-Wshift-count-overflow] error = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)); ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 1 warning and 1 error generated. -- In file included from drivers/scsi/scsi_sysfs.c:13: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a function or function pointer VM_BUG_ON_PAGE(page_count(page) == 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON_INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/scsi_sysfs.c:20: In file included from include/scsi/scsi_tcq.h:6: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 18446744073709551615 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ drivers/scsi/scsi_sysfs.c:373:1: warning: format specifies type 'short' but the argument has type 'int' [-Wformat] shost_rd_attr(can_queue, "%hd\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %d drivers/scsi/scsi_sysfs.c:176:45: note: expanded from macro 'shost_rd_attr' #define shost_rd_attr(field, format_string) \ ^ drivers/scsi/scsi_sysfs.c:173:2: note: expanded from macro '\ shost_rd_attr2' shost_show_function(name, field, format_string) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/scsi_sysfs.c:165:43: note: expanded from macro 'shost_show_function' return snprintf (buf, 20, format_string, shost->field); \ ~~~~~~~~~~~~~ ^~~~~~~~~~~~ drivers/scsi/scsi_sysfs.c:1027:10: fatal error: 'scsi_devinfo_tbl.c' file not found #include "scsi_devinfo_tbl.c" ^~~~~~~~~~~~~~~~~~~~ 2 warnings and 2 errors generated. # https://github.com/0day-ci/linux/commit/a4a0f54fdd08d95dfe20d684b405db8a47fb61d8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Gleixner/preempt-Make-preempt-count-unconditional/20200915-044640 git checkout a4a0f54fdd08d95dfe20d684b405db8a47fb61d8 vim +/void +181 include/linux/pagemap.h ^1da177e4c3f41 Linus Torvalds 2005-04-16 123 e286781d5f2e9c Nick Piggin 2008-07-25 124 /* e286781d5f2e9c Nick Piggin 2008-07-25 125 * speculatively take a reference to a page. 0139aa7b7fa12c Joonsoo Kim 2016-05-19 126 * If the page is free (_refcount == 0), then _refcount is untouched, and 0 0139aa7b7fa12c Joonsoo Kim 2016-05-19 127 * is returned. Otherwise, _refcount is incremented by 1 and 1 is returned. e286781d5f2e9c Nick Piggin 2008-07-25 128 * e286781d5f2e9c Nick Piggin 2008-07-25 129 * This function must be called inside the same rcu_read_lock() section as has e286781d5f2e9c Nick Piggin 2008-07-25 130 * been used to lookup the page in the pagecache radix-tree (or page table): 0139aa7b7fa12c Joonsoo Kim 2016-05-19 131 * this allows allocators to use a synchronize_rcu() to stabilize _refcount. e286781d5f2e9c Nick Piggin 2008-07-25 132 * e286781d5f2e9c Nick Piggin 2008-07-25 133 * Unless an RCU grace period has passed, the count of all pages coming out e286781d5f2e9c Nick Piggin 2008-07-25 134 * of the allocator must be considered unstable. page_count may return higher e286781d5f2e9c Nick Piggin 2008-07-25 135 * than expected, and put_page must be able to do the right thing when the e286781d5f2e9c Nick Piggin 2008-07-25 136 * page has been finished with, no matter what it is subsequently allocated e286781d5f2e9c Nick Piggin 2008-07-25 137 * for (because put_page is what is used here to drop an invalid speculative e286781d5f2e9c Nick Piggin 2008-07-25 138 * reference). e286781d5f2e9c Nick Piggin 2008-07-25 139 * e286781d5f2e9c Nick Piggin 2008-07-25 140 * This is the interesting part of the lockless pagecache (and lockless e286781d5f2e9c Nick Piggin 2008-07-25 141 * get_user_pages) locking protocol, where the lookup-side (eg. find_get_page) e286781d5f2e9c Nick Piggin 2008-07-25 142 * has the following pattern: e286781d5f2e9c Nick Piggin 2008-07-25 143 * 1. find page in radix tree e286781d5f2e9c Nick Piggin 2008-07-25 144 * 2. conditionally increment refcount e286781d5f2e9c Nick Piggin 2008-07-25 145 * 3. check the page is still in pagecache (if no, goto 1) e286781d5f2e9c Nick Piggin 2008-07-25 146 * 0139aa7b7fa12c Joonsoo Kim 2016-05-19 147 * Remove-side that cares about stability of _refcount (eg. reclaim) has the b93b016313b3ba Matthew Wilcox 2018-04-10 148 * following (with the i_pages lock held): e286781d5f2e9c Nick Piggin 2008-07-25 149 * A. atomically check refcount is correct and set it to 0 (atomic_cmpxchg) e286781d5f2e9c Nick Piggin 2008-07-25 150 * B. remove page from pagecache e286781d5f2e9c Nick Piggin 2008-07-25 151 * C. free the page e286781d5f2e9c Nick Piggin 2008-07-25 152 * e286781d5f2e9c Nick Piggin 2008-07-25 153 * There are 2 critical interleavings that matter: e286781d5f2e9c Nick Piggin 2008-07-25 154 * - 2 runs before A: in this case, A sees elevated refcount and bails out e286781d5f2e9c Nick Piggin 2008-07-25 155 * - A runs before 2: in this case, 2 sees zero refcount and retries; e286781d5f2e9c Nick Piggin 2008-07-25 156 * subsequently, B will complete and 1 will find no page, causing the e286781d5f2e9c Nick Piggin 2008-07-25 157 * lookup to return NULL. e286781d5f2e9c Nick Piggin 2008-07-25 158 * e286781d5f2e9c Nick Piggin 2008-07-25 159 * It is possible that between 1 and 2, the page is removed then the exact same e286781d5f2e9c Nick Piggin 2008-07-25 160 * page is inserted into the same position in pagecache. That's OK: the b93b016313b3ba Matthew Wilcox 2018-04-10 161 * old find_get_page using a lock could equally have run before or after e286781d5f2e9c Nick Piggin 2008-07-25 162 * such a re-insertion, depending on order that locks are granted. e286781d5f2e9c Nick Piggin 2008-07-25 163 * e286781d5f2e9c Nick Piggin 2008-07-25 164 * Lookups racing against pagecache insertion isn't a big problem: either 1 e286781d5f2e9c Nick Piggin 2008-07-25 165 * will find the page or it will not. Likewise, the old find_get_page could run e286781d5f2e9c Nick Piggin 2008-07-25 166 * either before the insertion or afterwards, depending on timing. e286781d5f2e9c Nick Piggin 2008-07-25 167 */ 494eec70f05496 john.hubbard@gmail.com 2019-03-05 168 static inline int __page_cache_add_speculative(struct page *page, int count) e286781d5f2e9c Nick Piggin 2008-07-25 169 { 8375ad98cc1def Paul E. McKenney 2013-04-29 170 #ifdef CONFIG_TINY_RCU a4a0f54fdd08d9 Thomas Gleixner 2020-09-14 171 VM_BUG_ON(preemptible()) e286781d5f2e9c Nick Piggin 2008-07-25 172 /* e286781d5f2e9c Nick Piggin 2008-07-25 173 * Preempt must be disabled here - we rely on rcu_read_lock doing e286781d5f2e9c Nick Piggin 2008-07-25 174 * this for us. e286781d5f2e9c Nick Piggin 2008-07-25 175 * e286781d5f2e9c Nick Piggin 2008-07-25 176 * Pagecache won't be truncated from interrupt context, so if we have e286781d5f2e9c Nick Piggin 2008-07-25 177 * found a page in the radix tree here, we have pinned its refcount by e286781d5f2e9c Nick Piggin 2008-07-25 178 * disabling preempt, and hence no need for the "speculative get" that e286781d5f2e9c Nick Piggin 2008-07-25 179 * SMP requires. e286781d5f2e9c Nick Piggin 2008-07-25 180 */ 309381feaee564 Sasha Levin 2014-01-23 @181 VM_BUG_ON_PAGE(page_count(page) == 0, page); 494eec70f05496 john.hubbard@gmail.com 2019-03-05 182 page_ref_add(page, count); e286781d5f2e9c Nick Piggin 2008-07-25 183 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --CE+1k2dSO48ffgeK Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 5YmQxPOUc6w9LqM2Vwzz/wALB40bi6QBAA== --CE+1k2dSO48ffgeK-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4757607082211350630==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [patch 05/13] mm/pagemap: Clenaup PREEMPT_COUNT leftovers Date: Tue, 15 Sep 2020 08:52:24 +0800 Message-ID: <202009150801.cgJKGy06%lkp@intel.com> In-Reply-To: <20200914204441.486057928@linutronix.de> List-Id: --===============4757607082211350630== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on linus/master v5.9-rc5 next-20200914] [cannot apply to rcu/dev arm/for-next tip/sched/core linux/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Thomas-Gleixner/preempt-Ma= ke-preempt-count-unconditional/20200915-044640 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: arm-randconfig-r002-20200914 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project b2c32c= 90bab09a6e2c1f370429db26017a182143) reproduce (this is a W=3D1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/= make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # save the attached .config to linux build tree COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dclang make.cross ARCH= =3Darm = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from drivers/scsi/scsi.c:47: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a= function or function pointer VM_BUG_ON_PAGE(page_count(page) =3D=3D 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON= _INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/scsi.c:62: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'un= signed long long' to 'unsigned long' changes value from 1844674407370955161= 5 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_M= ASK' #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ 1 warning and 1 error generated. -- In file included from drivers/scsi/scsicam.c:19: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a= function or function pointer VM_BUG_ON_PAGE(page_count(page) =3D=3D 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON= _INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ 1 error generated. -- In file included from drivers/scsi/scsi_sysfs.c:13: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a= function or function pointer VM_BUG_ON_PAGE(page_count(page) =3D=3D 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON= _INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/scsi_sysfs.c:20: In file included from include/scsi/scsi_tcq.h:6: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'un= signed long long' to 'unsigned long' changes value from 1844674407370955161= 5 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_M= ASK' #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ drivers/scsi/scsi_sysfs.c:373:1: warning: format specifies type 'short' = but the argument has type 'int' [-Wformat] shost_rd_attr(can_queue, "%hd\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %d drivers/scsi/scsi_sysfs.c:176:45: note: expanded from macro 'shost_rd_at= tr' #define shost_rd_attr(field, format_string) \ ^ drivers/scsi/scsi_sysfs.c:173:2: note: expanded from macro '\ shost_rd_attr2' shost_show_function(name, field, format_string) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/scsi_sysfs.c:165:43: note: expanded from macro 'shost_show_= function' return snprintf (buf, 20, format_string, shost->field); \ ~~~~~~~~~~~~~ ^~~~~~~~~~~~ 2 warnings and 1 error generated. -- In file included from drivers/scsi/ufs/ufshcd.c:18: In file included from drivers/scsi/ufs/ufshcd.h:32: In file included from include/linux/regulator/consumer.h:35: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a= function or function pointer VM_BUG_ON_PAGE(page_count(page) =3D=3D 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON= _INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/ufs/ufshcd.c:18: In file included from drivers/scsi/ufs/ufshcd.h:41: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'un= signed long long' to 'unsigned long' changes value from 1844674407370955161= 5 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_M= ASK' #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ >> drivers/scsi/ufs/ufshcd.c:8716:44: warning: shift count >=3D width of ty= pe [-Wshift-count-overflow] if (!dma_set_mask_and_coherent(hba->dev, DMA_BIT_MASK(64= ))) ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_M= ASK' #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 2 warnings and 1 error generated. -- In file included from drivers/scsi/hisi_sas/hisi_sas_main.c:7: In file included from drivers/scsi/hisi_sas/hisi_sas.h:16: In file included from include/linux/libata.h:21: In file included from include/scsi/scsi_host.h:11: In file included from include/linux/blk-mq.h:5: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a= function or function pointer VM_BUG_ON_PAGE(page_count(page) =3D=3D 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON= _INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ >> drivers/scsi/hisi_sas/hisi_sas_main.c:2579:41: warning: shift count >=3D= width of type [-Wshift-count-overflow] error =3D dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)); ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_M= ASK' #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 1 warning and 1 error generated. -- In file included from drivers/scsi/scsi_sysfs.c:13: In file included from include/linux/blkdev.h:13: >> include/linux/pagemap.h:181:2: error: called object type 'void' is not a= function or function pointer VM_BUG_ON_PAGE(page_count(page) =3D=3D 0, page); ^ include/linux/mmdebug.h:46:36: note: expanded from macro 'VM_BUG_ON_PAGE' #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond) ^ include/linux/mmdebug.h:45:25: note: expanded from macro 'VM_BUG_ON' #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond) ^ include/linux/build_bug.h:30:33: note: expanded from macro 'BUILD_BUG_ON= _INVALID' #define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) ^ In file included from drivers/scsi/scsi_sysfs.c:20: In file included from include/scsi/scsi_tcq.h:6: In file included from include/scsi/scsi_cmnd.h:5: include/linux/dma-mapping.h:632:9: warning: implicit conversion from 'un= signed long long' to 'unsigned long' changes value from 1844674407370955161= 5 to 4294967295 [-Wconstant-conversion] return DMA_BIT_MASK(32); ~~~~~~ ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:139:40: note: expanded from macro 'DMA_BIT_M= ASK' #define DMA_BIT_MASK(n) (((n) =3D=3D 64) ? ~0ULL : ((1ULL<<(n))-1)) ^~~~~ drivers/scsi/scsi_sysfs.c:373:1: warning: format specifies type 'short' = but the argument has type 'int' [-Wformat] shost_rd_attr(can_queue, "%hd\n"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %d drivers/scsi/scsi_sysfs.c:176:45: note: expanded from macro 'shost_rd_at= tr' #define shost_rd_attr(field, format_string) \ ^ drivers/scsi/scsi_sysfs.c:173:2: note: expanded from macro '\ shost_rd_attr2' shost_show_function(name, field, format_string) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/scsi_sysfs.c:165:43: note: expanded from macro 'shost_show_= function' return snprintf (buf, 20, format_string, shost->field); \ ~~~~~~~~~~~~~ ^~~~~~~~~~~~ drivers/scsi/scsi_sysfs.c:1027:10: fatal error: 'scsi_devinfo_tbl.c' fil= e not found #include "scsi_devinfo_tbl.c" ^~~~~~~~~~~~~~~~~~~~ 2 warnings and 2 errors generated. # https://github.com/0day-ci/linux/commit/a4a0f54fdd08d95dfe20d684b405db8a4= 7fb61d8 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Thomas-Gleixner/preempt-Make-preempt-count= -unconditional/20200915-044640 git checkout a4a0f54fdd08d95dfe20d684b405db8a47fb61d8 vim +/void +181 include/linux/pagemap.h ^1da177e4c3f41 Linus Torvalds 2005-04-16 123 = e286781d5f2e9c Nick Piggin 2008-07-25 124 /* e286781d5f2e9c Nick Piggin 2008-07-25 125 * speculatively tak= e a reference to a page. 0139aa7b7fa12c Joonsoo Kim 2016-05-19 126 * If the page is fr= ee (_refcount =3D=3D 0), then _refcount is untouched, and 0 0139aa7b7fa12c Joonsoo Kim 2016-05-19 127 * is returned. Othe= rwise, _refcount is incremented by 1 and 1 is returned. e286781d5f2e9c Nick Piggin 2008-07-25 128 * e286781d5f2e9c Nick Piggin 2008-07-25 129 * This function mus= t be called inside the same rcu_read_lock() section as has e286781d5f2e9c Nick Piggin 2008-07-25 130 * been used to look= up the page in the pagecache radix-tree (or page table): 0139aa7b7fa12c Joonsoo Kim 2016-05-19 131 * this allows alloc= ators to use a synchronize_rcu() to stabilize _refcount. e286781d5f2e9c Nick Piggin 2008-07-25 132 * e286781d5f2e9c Nick Piggin 2008-07-25 133 * Unless an RCU gra= ce period has passed, the count of all pages coming out e286781d5f2e9c Nick Piggin 2008-07-25 134 * of the allocator = must be considered unstable. page_count may return higher e286781d5f2e9c Nick Piggin 2008-07-25 135 * than expected, an= d put_page must be able to do the right thing when the e286781d5f2e9c Nick Piggin 2008-07-25 136 * page has been fin= ished with, no matter what it is subsequently allocated e286781d5f2e9c Nick Piggin 2008-07-25 137 * for (because put_= page is what is used here to drop an invalid speculative e286781d5f2e9c Nick Piggin 2008-07-25 138 * reference). e286781d5f2e9c Nick Piggin 2008-07-25 139 * e286781d5f2e9c Nick Piggin 2008-07-25 140 * This is the inter= esting part of the lockless pagecache (and lockless e286781d5f2e9c Nick Piggin 2008-07-25 141 * get_user_pages) l= ocking protocol, where the lookup-side (eg. find_get_page) e286781d5f2e9c Nick Piggin 2008-07-25 142 * has the following= pattern: e286781d5f2e9c Nick Piggin 2008-07-25 143 * 1. find page in r= adix tree e286781d5f2e9c Nick Piggin 2008-07-25 144 * 2. conditionally = increment refcount e286781d5f2e9c Nick Piggin 2008-07-25 145 * 3. check the page= is still in pagecache (if no, goto 1) e286781d5f2e9c Nick Piggin 2008-07-25 146 * 0139aa7b7fa12c Joonsoo Kim 2016-05-19 147 * Remove-side that = cares about stability of _refcount (eg. reclaim) has the b93b016313b3ba Matthew Wilcox 2018-04-10 148 * following (with t= he i_pages lock held): e286781d5f2e9c Nick Piggin 2008-07-25 149 * A. atomically che= ck refcount is correct and set it to 0 (atomic_cmpxchg) e286781d5f2e9c Nick Piggin 2008-07-25 150 * B. remove page fr= om pagecache e286781d5f2e9c Nick Piggin 2008-07-25 151 * C. free the page e286781d5f2e9c Nick Piggin 2008-07-25 152 * e286781d5f2e9c Nick Piggin 2008-07-25 153 * There are 2 criti= cal interleavings that matter: e286781d5f2e9c Nick Piggin 2008-07-25 154 * - 2 runs before A= : in this case, A sees elevated refcount and bails out e286781d5f2e9c Nick Piggin 2008-07-25 155 * - A runs before 2= : in this case, 2 sees zero refcount and retries; e286781d5f2e9c Nick Piggin 2008-07-25 156 * subsequently, B= will complete and 1 will find no page, causing the e286781d5f2e9c Nick Piggin 2008-07-25 157 * lookup to retur= n NULL. e286781d5f2e9c Nick Piggin 2008-07-25 158 * e286781d5f2e9c Nick Piggin 2008-07-25 159 * It is possible th= at between 1 and 2, the page is removed then the exact same e286781d5f2e9c Nick Piggin 2008-07-25 160 * page is inserted = into the same position in pagecache. That's OK: the b93b016313b3ba Matthew Wilcox 2018-04-10 161 * old find_get_page= using a lock could equally have run before or after e286781d5f2e9c Nick Piggin 2008-07-25 162 * such a re-inserti= on, depending on order that locks are granted. e286781d5f2e9c Nick Piggin 2008-07-25 163 * e286781d5f2e9c Nick Piggin 2008-07-25 164 * Lookups racing ag= ainst pagecache insertion isn't a big problem: either 1 e286781d5f2e9c Nick Piggin 2008-07-25 165 * will find the pag= e or it will not. Likewise, the old find_get_page could run e286781d5f2e9c Nick Piggin 2008-07-25 166 * either before the= insertion or afterwards, depending on timing. e286781d5f2e9c Nick Piggin 2008-07-25 167 */ 494eec70f05496 john.hubbard(a)gmail.com 2019-03-05 168 static inline int = __page_cache_add_speculative(struct page *page, int count) e286781d5f2e9c Nick Piggin 2008-07-25 169 { 8375ad98cc1def Paul E. McKenney 2013-04-29 170 #ifdef CONFIG_TINY_R= CU a4a0f54fdd08d9 Thomas Gleixner 2020-09-14 171 VM_BUG_ON(preemptib= le()) e286781d5f2e9c Nick Piggin 2008-07-25 172 /* e286781d5f2e9c Nick Piggin 2008-07-25 173 * Preempt must be = disabled here - we rely on rcu_read_lock doing e286781d5f2e9c Nick Piggin 2008-07-25 174 * this for us. e286781d5f2e9c Nick Piggin 2008-07-25 175 * e286781d5f2e9c Nick Piggin 2008-07-25 176 * Pagecache won't = be truncated from interrupt context, so if we have e286781d5f2e9c Nick Piggin 2008-07-25 177 * found a page in = the radix tree here, we have pinned its refcount by e286781d5f2e9c Nick Piggin 2008-07-25 178 * disabling preemp= t, and hence no need for the "speculative get" that e286781d5f2e9c Nick Piggin 2008-07-25 179 * SMP requires. e286781d5f2e9c Nick Piggin 2008-07-25 180 */ 309381feaee564 Sasha Levin 2014-01-23 @181 VM_BUG_ON_PAGE(page= _count(page) =3D=3D 0, page); 494eec70f05496 john.hubbard(a)gmail.com 2019-03-05 182 page_ref_add(page= , count); e286781d5f2e9c Nick Piggin 2008-07-25 183 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============4757607082211350630== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 Vwzz/wALB40bi6QBAA== --===============4757607082211350630==--