tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 
staging-testing
head:   0badacd779df08fbbc895cf6c488e100b86c1f39
commit: 73d65c8d1a851785af624870424b332f42af1b37 [752/791] staging: lustre: 
remove libcfs_all.h from lustre/include/*.h
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 73d65c8d1a851785af624870424b332f42af1b37
        # save the attached .config to linux build tree
        make.cross ARCH=sh 

All errors (new ones prefixed by >>):

   drivers/staging/lustre/lustre/mdc/mdc_request.c: In function 
'mdc_read_page_remote':
>> drivers/staging/lustre/lustre/mdc/mdc_request.c:1200:3: error: implicit 
>> declaration of function 'prefetchw' [-Werror=implicit-function-declaration]
      prefetchw(&page->flags);
      ^~~~~~~~~
   cc1: some warnings being treated as errors

vim +/prefetchw +1200 drivers/staging/lustre/lustre/mdc/mdc_request.c

4f76f0ec wang di         2016-08-19  1114  
4f76f0ec wang di         2016-08-19  1115  /**
4f76f0ec wang di         2016-08-19  1116   * Read pages from server.
4f76f0ec wang di         2016-08-19  1117   *
4f76f0ec wang di         2016-08-19  1118   * Page in MDS_READPAGE RPC is 
packed in LU_PAGE_SIZE, and each page contains
4f76f0ec wang di         2016-08-19  1119   * a header lu_dirpage which 
describes the start/end hash, and whether this
4f76f0ec wang di         2016-08-19  1120   * page is empty (contains no dir 
entry) or hash collide with next page.
4f76f0ec wang di         2016-08-19  1121   * After client receives reply, 
several pages will be integrated into dir page
4f76f0ec wang di         2016-08-19  1122   * in PAGE_SIZE (if PAGE_SIZE 
greater than LU_PAGE_SIZE), and the
4f76f0ec wang di         2016-08-19  1123   * lu_dirpage for this integrated 
page will be adjusted.
4f76f0ec wang di         2016-08-19  1124   **/
4f76f0ec wang di         2016-08-19  1125  static int mdc_read_page_remote(void 
*data, struct page *page0)
4f76f0ec wang di         2016-08-19  1126  {
4f76f0ec wang di         2016-08-19  1127       struct readpage_param *rp = 
data;
4f76f0ec wang di         2016-08-19  1128       struct page **page_pool;
4f76f0ec wang di         2016-08-19  1129       struct page *page;
4f76f0ec wang di         2016-08-19  1130       struct lu_dirpage *dp;
4f76f0ec wang di         2016-08-19  1131       int rd_pgs = 0; /* number of 
pages read actually */
4f76f0ec wang di         2016-08-19  1132       int npages;
4f76f0ec wang di         2016-08-19  1133       struct md_op_data *op_data = 
rp->rp_mod;
4f76f0ec wang di         2016-08-19  1134       struct ptlrpc_request *req;
4f76f0ec wang di         2016-08-19  1135       int max_pages = 
op_data->op_max_pages;
4f76f0ec wang di         2016-08-19  1136       struct inode *inode;
4f76f0ec wang di         2016-08-19  1137       struct lu_fid *fid;
4f76f0ec wang di         2016-08-19  1138       int i;
4f76f0ec wang di         2016-08-19  1139       int rc;
4f76f0ec wang di         2016-08-19  1140  
4f76f0ec wang di         2016-08-19  1141       LASSERT(max_pages > 0 && 
max_pages <= PTLRPC_MAX_BRW_PAGES);
4f76f0ec wang di         2016-08-19  1142       inode = op_data->op_data;
4f76f0ec wang di         2016-08-19  1143       fid = &op_data->op_fid1;
4f76f0ec wang di         2016-08-19  1144       LASSERT(inode);
4f76f0ec wang di         2016-08-19  1145  
4f76f0ec wang di         2016-08-19  1146       page_pool = kcalloc(max_pages, 
sizeof(page), GFP_NOFS);
4f76f0ec wang di         2016-08-19  1147       if (page_pool) {
4f76f0ec wang di         2016-08-19  1148               page_pool[0] = page0;
4f76f0ec wang di         2016-08-19  1149       } else {
4f76f0ec wang di         2016-08-19  1150               page_pool = &page0;
4f76f0ec wang di         2016-08-19  1151               max_pages = 1;
4f76f0ec wang di         2016-08-19  1152       }
4f76f0ec wang di         2016-08-19  1153  
4f76f0ec wang di         2016-08-19  1154       for (npages = 1; npages < 
max_pages; npages++) {
453f85d4 Mel Gorman      2017-11-15  1155               page = 
page_cache_alloc(inode->i_mapping);
4f76f0ec wang di         2016-08-19  1156               if (!page)
4f76f0ec wang di         2016-08-19  1157                       break;
4f76f0ec wang di         2016-08-19  1158               page_pool[npages] = 
page;
4f76f0ec wang di         2016-08-19  1159       }
4f76f0ec wang di         2016-08-19  1160  
4f76f0ec wang di         2016-08-19  1161       rc = mdc_getpage(rp->rp_exp, 
fid, rp->rp_off, page_pool, npages, &req);
4f76f0ec wang di         2016-08-19  1162       if (!rc) {
4f76f0ec wang di         2016-08-19  1163               int lu_pgs = 
req->rq_bulk->bd_nob_transferred;
4f76f0ec wang di         2016-08-19  1164  
4f76f0ec wang di         2016-08-19  1165               rd_pgs = 
(req->rq_bulk->bd_nob_transferred +
4f76f0ec wang di         2016-08-19  1166                         PAGE_SIZE - 
1) >> PAGE_SHIFT;
4f76f0ec wang di         2016-08-19  1167               lu_pgs >>= 
LU_PAGE_SHIFT;
4f76f0ec wang di         2016-08-19  1168               
LASSERT(!(req->rq_bulk->bd_nob_transferred & ~LU_PAGE_MASK));
4f76f0ec wang di         2016-08-19  1169  
3cbbf5ed John L. Hammond 2016-09-18  1170               CDEBUG(D_INODE, "read 
%d(%d) pages\n", rd_pgs, lu_pgs);
4f76f0ec wang di         2016-08-19  1171  
4f76f0ec wang di         2016-08-19  1172               
mdc_adjust_dirpages(page_pool, rd_pgs, lu_pgs);
4f76f0ec wang di         2016-08-19  1173  
4f76f0ec wang di         2016-08-19  1174               SetPageUptodate(page0);
4f76f0ec wang di         2016-08-19  1175       }
4f76f0ec wang di         2016-08-19  1176  
4f76f0ec wang di         2016-08-19  1177       unlock_page(page0);
4f76f0ec wang di         2016-08-19  1178       ptlrpc_req_finished(req);
4f76f0ec wang di         2016-08-19  1179       CDEBUG(D_CACHE, "read %d/%d 
pages\n", rd_pgs, npages);
4f76f0ec wang di         2016-08-19  1180       for (i = 1; i < npages; i++) {
4f76f0ec wang di         2016-08-19  1181               unsigned long offset;
4f76f0ec wang di         2016-08-19  1182               __u64 hash;
4f76f0ec wang di         2016-08-19  1183               int ret;
4f76f0ec wang di         2016-08-19  1184  
4f76f0ec wang di         2016-08-19  1185               page = page_pool[i];
4f76f0ec wang di         2016-08-19  1186  
4f76f0ec wang di         2016-08-19  1187               if (rc < 0 || i >= 
rd_pgs) {
4f76f0ec wang di         2016-08-19  1188                       put_page(page);
4f76f0ec wang di         2016-08-19  1189                       continue;
4f76f0ec wang di         2016-08-19  1190               }
4f76f0ec wang di         2016-08-19  1191  
4f76f0ec wang di         2016-08-19  1192               SetPageUptodate(page);
4f76f0ec wang di         2016-08-19  1193  
4f76f0ec wang di         2016-08-19  1194               dp = kmap(page);
4f76f0ec wang di         2016-08-19  1195               hash = 
le64_to_cpu(dp->ldp_hash_start);
4f76f0ec wang di         2016-08-19  1196               kunmap(page);
4f76f0ec wang di         2016-08-19  1197  
4f76f0ec wang di         2016-08-19  1198               offset = 
hash_x_index(hash, rp->rp_hash64);
4f76f0ec wang di         2016-08-19  1199  
4f76f0ec wang di         2016-08-19 @1200               prefetchw(&page->flags);
4f76f0ec wang di         2016-08-19  1201               ret = 
add_to_page_cache_lru(page, inode->i_mapping, offset,
4f76f0ec wang di         2016-08-19  1202                                       
    GFP_KERNEL);
4f76f0ec wang di         2016-08-19  1203               if (!ret)
4f76f0ec wang di         2016-08-19  1204                       
unlock_page(page);
4f76f0ec wang di         2016-08-19  1205               else
4f76f0ec wang di         2016-08-19  1206                       
CDEBUG(D_VFSTRACE, "page %lu add to page cache failed: rc = %d\n",
4f76f0ec wang di         2016-08-19  1207                              offset, 
ret);
4f76f0ec wang di         2016-08-19  1208               put_page(page);
4f76f0ec wang di         2016-08-19  1209       }
4f76f0ec wang di         2016-08-19  1210  
4f76f0ec wang di         2016-08-19  1211       if (page_pool != &page0)
4f76f0ec wang di         2016-08-19  1212               kfree(page_pool);
4f76f0ec wang di         2016-08-19  1213  
4f76f0ec wang di         2016-08-19  1214       return rc;
4f76f0ec wang di         2016-08-19  1215  }
4f76f0ec wang di         2016-08-19  1216  

:::::: The code at line 1200 was first introduced by commit
:::::: 4f76f0ec093c2f9ef049495c78d486bfb48e4de0 staging: lustre: llite: move 
dir cache to MDC layer

:::::: TO: wang di <di.w...@intel.com>
:::::: CC: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to