From: kernel test robot <lkp@intel.com>
To: Michael Guralnik <michaelgur@nvidia.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH v4 rdma-next 4/6] RDMA/mlx5: Introduce mlx5r_cache_rb_key
Date: Mon, 13 Feb 2023 08:57:14 +0800 [thread overview]
Message-ID: <202302130857.lpIUsPCr-lkp@intel.com> (raw)
In-Reply-To: <20230115133454.29000-5-michaelgur@nvidia.com>
Hi Michael,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on rdma/for-next]
[also build test WARNING on linus/master v6.2-rc8]
[cannot apply to next-20230210]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Michael-Guralnik/RDMA-mlx5-Don-t-keep-umrable-page_shift-in-cache-entries/20230115-213631
base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
patch link: https://lore.kernel.org/r/20230115133454.29000-5-michaelgur%40nvidia.com
patch subject: [PATCH v4 rdma-next 4/6] RDMA/mlx5: Introduce mlx5r_cache_rb_key
config: sparc64-randconfig-s041-20230212 (https://download.01.org/0day-ci/archive/20230213/202302130857.lpIUsPCr-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/b248641a9895ca71c30d10b95b4be730fd65576a
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Michael-Guralnik/RDMA-mlx5-Don-t-keep-umrable-page_shift-in-cache-entries/20230115-213631
git checkout b248641a9895ca71c30d10b95b4be730fd65576a
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash drivers/infiniband/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202302130857.lpIUsPCr-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/infiniband/hw/mlx5/mr.c: note: in included file (through drivers/infiniband/hw/mlx5/dm.h):
>> drivers/infiniband/hw/mlx5/mlx5_ib.h:1378:16: sparse: sparse: incorrect type in return expression (different base types) @@ expected int @@ got void * @@
drivers/infiniband/hw/mlx5/mlx5_ib.h:1378:16: sparse: expected int
drivers/infiniband/hw/mlx5/mlx5_ib.h:1378:16: sparse: got void *
vim +1378 drivers/infiniband/hw/mlx5/mlx5_ib.h
1217
1218 int mlx5_ib_db_map_user(struct mlx5_ib_ucontext *context, unsigned long virt,
1219 struct mlx5_db *db);
1220 void mlx5_ib_db_unmap_user(struct mlx5_ib_ucontext *context, struct mlx5_db *db);
1221 void __mlx5_ib_cq_clean(struct mlx5_ib_cq *cq, u32 qpn, struct mlx5_ib_srq *srq);
1222 void mlx5_ib_cq_clean(struct mlx5_ib_cq *cq, u32 qpn, struct mlx5_ib_srq *srq);
1223 void mlx5_ib_free_srq_wqe(struct mlx5_ib_srq *srq, int wqe_index);
1224 int mlx5_ib_create_ah(struct ib_ah *ah, struct rdma_ah_init_attr *init_attr,
1225 struct ib_udata *udata);
1226 int mlx5_ib_query_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr);
1227 static inline int mlx5_ib_destroy_ah(struct ib_ah *ah, u32 flags)
1228 {
1229 return 0;
1230 }
1231 int mlx5_ib_create_srq(struct ib_srq *srq, struct ib_srq_init_attr *init_attr,
1232 struct ib_udata *udata);
1233 int mlx5_ib_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr,
1234 enum ib_srq_attr_mask attr_mask, struct ib_udata *udata);
1235 int mlx5_ib_query_srq(struct ib_srq *ibsrq, struct ib_srq_attr *srq_attr);
1236 int mlx5_ib_destroy_srq(struct ib_srq *srq, struct ib_udata *udata);
1237 int mlx5_ib_post_srq_recv(struct ib_srq *ibsrq, const struct ib_recv_wr *wr,
1238 const struct ib_recv_wr **bad_wr);
1239 int mlx5_ib_enable_lb(struct mlx5_ib_dev *dev, bool td, bool qp);
1240 void mlx5_ib_disable_lb(struct mlx5_ib_dev *dev, bool td, bool qp);
1241 int mlx5_ib_create_qp(struct ib_qp *qp, struct ib_qp_init_attr *init_attr,
1242 struct ib_udata *udata);
1243 int mlx5_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr,
1244 int attr_mask, struct ib_udata *udata);
1245 int mlx5_ib_query_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, int qp_attr_mask,
1246 struct ib_qp_init_attr *qp_init_attr);
1247 int mlx5_ib_destroy_qp(struct ib_qp *qp, struct ib_udata *udata);
1248 void mlx5_ib_drain_sq(struct ib_qp *qp);
1249 void mlx5_ib_drain_rq(struct ib_qp *qp);
1250 int mlx5_ib_read_wqe_sq(struct mlx5_ib_qp *qp, int wqe_index, void *buffer,
1251 size_t buflen, size_t *bc);
1252 int mlx5_ib_read_wqe_rq(struct mlx5_ib_qp *qp, int wqe_index, void *buffer,
1253 size_t buflen, size_t *bc);
1254 int mlx5_ib_read_wqe_srq(struct mlx5_ib_srq *srq, int wqe_index, void *buffer,
1255 size_t buflen, size_t *bc);
1256 int mlx5_ib_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
1257 struct ib_udata *udata);
1258 int mlx5_ib_destroy_cq(struct ib_cq *cq, struct ib_udata *udata);
1259 int mlx5_ib_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *wc);
1260 int mlx5_ib_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify_flags flags);
1261 int mlx5_ib_modify_cq(struct ib_cq *cq, u16 cq_count, u16 cq_period);
1262 int mlx5_ib_resize_cq(struct ib_cq *ibcq, int entries, struct ib_udata *udata);
1263 struct ib_mr *mlx5_ib_get_dma_mr(struct ib_pd *pd, int acc);
1264 struct ib_mr *mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
1265 u64 virt_addr, int access_flags,
1266 struct ib_udata *udata);
1267 struct ib_mr *mlx5_ib_reg_user_mr_dmabuf(struct ib_pd *pd, u64 start,
1268 u64 length, u64 virt_addr,
1269 int fd, int access_flags,
1270 struct ib_udata *udata);
1271 int mlx5_ib_advise_mr(struct ib_pd *pd,
1272 enum ib_uverbs_advise_mr_advice advice,
1273 u32 flags,
1274 struct ib_sge *sg_list,
1275 u32 num_sge,
1276 struct uverbs_attr_bundle *attrs);
1277 int mlx5_ib_alloc_mw(struct ib_mw *mw, struct ib_udata *udata);
1278 int mlx5_ib_dealloc_mw(struct ib_mw *mw);
1279 struct mlx5_ib_mr *mlx5_ib_alloc_implicit_mr(struct mlx5_ib_pd *pd,
1280 int access_flags);
1281 void mlx5_ib_free_implicit_mr(struct mlx5_ib_mr *mr);
1282 void mlx5_ib_free_odp_mr(struct mlx5_ib_mr *mr);
1283 struct ib_mr *mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start,
1284 u64 length, u64 virt_addr, int access_flags,
1285 struct ib_pd *pd, struct ib_udata *udata);
1286 int mlx5_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata);
1287 struct ib_mr *mlx5_ib_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
1288 u32 max_num_sg);
1289 struct ib_mr *mlx5_ib_alloc_mr_integrity(struct ib_pd *pd,
1290 u32 max_num_sg,
1291 u32 max_num_meta_sg);
1292 int mlx5_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
1293 unsigned int *sg_offset);
1294 int mlx5_ib_map_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg,
1295 int data_sg_nents, unsigned int *data_sg_offset,
1296 struct scatterlist *meta_sg, int meta_sg_nents,
1297 unsigned int *meta_sg_offset);
1298 int mlx5_ib_process_mad(struct ib_device *ibdev, int mad_flags, u32 port_num,
1299 const struct ib_wc *in_wc, const struct ib_grh *in_grh,
1300 const struct ib_mad *in, struct ib_mad *out,
1301 size_t *out_mad_size, u16 *out_mad_pkey_index);
1302 int mlx5_ib_alloc_xrcd(struct ib_xrcd *xrcd, struct ib_udata *udata);
1303 int mlx5_ib_dealloc_xrcd(struct ib_xrcd *xrcd, struct ib_udata *udata);
1304 int mlx5_query_ext_port_caps(struct mlx5_ib_dev *dev, unsigned int port);
1305 int mlx5_query_mad_ifc_system_image_guid(struct ib_device *ibdev,
1306 __be64 *sys_image_guid);
1307 int mlx5_query_mad_ifc_max_pkeys(struct ib_device *ibdev,
1308 u16 *max_pkeys);
1309 int mlx5_query_mad_ifc_vendor_id(struct ib_device *ibdev,
1310 u32 *vendor_id);
1311 int mlx5_query_mad_ifc_node_desc(struct mlx5_ib_dev *dev, char *node_desc);
1312 int mlx5_query_mad_ifc_node_guid(struct mlx5_ib_dev *dev, __be64 *node_guid);
1313 int mlx5_query_mad_ifc_pkey(struct ib_device *ibdev, u32 port, u16 index,
1314 u16 *pkey);
1315 int mlx5_query_mad_ifc_gids(struct ib_device *ibdev, u32 port, int index,
1316 union ib_gid *gid);
1317 int mlx5_query_mad_ifc_port(struct ib_device *ibdev, u32 port,
1318 struct ib_port_attr *props);
1319 int mlx5_ib_query_port(struct ib_device *ibdev, u32 port,
1320 struct ib_port_attr *props);
1321 void mlx5_ib_populate_pas(struct ib_umem *umem, size_t page_size, __be64 *pas,
1322 u64 access_flags);
1323 void mlx5_ib_copy_pas(u64 *old, u64 *new, int step, int num);
1324 int mlx5_ib_get_cqe_size(struct ib_cq *ibcq);
1325 int mlx5_mkey_cache_init(struct mlx5_ib_dev *dev);
1326 int mlx5_mkey_cache_cleanup(struct mlx5_ib_dev *dev);
1327 struct mlx5_cache_ent *mlx5r_cache_create_ent(struct mlx5_ib_dev *dev,
1328 struct mlx5r_cache_rb_key rb_key,
1329 bool persistent_entry);
1330
1331 struct mlx5_ib_mr *mlx5_mr_cache_alloc(struct mlx5_ib_dev *dev,
1332 int access_flags, int access_mode,
1333 int ndescs);
1334
1335 int mlx5_ib_check_mr_status(struct ib_mr *ibmr, u32 check_mask,
1336 struct ib_mr_status *mr_status);
1337 struct ib_wq *mlx5_ib_create_wq(struct ib_pd *pd,
1338 struct ib_wq_init_attr *init_attr,
1339 struct ib_udata *udata);
1340 int mlx5_ib_destroy_wq(struct ib_wq *wq, struct ib_udata *udata);
1341 int mlx5_ib_modify_wq(struct ib_wq *wq, struct ib_wq_attr *wq_attr,
1342 u32 wq_attr_mask, struct ib_udata *udata);
1343 int mlx5_ib_create_rwq_ind_table(struct ib_rwq_ind_table *ib_rwq_ind_table,
1344 struct ib_rwq_ind_table_init_attr *init_attr,
1345 struct ib_udata *udata);
1346 int mlx5_ib_destroy_rwq_ind_table(struct ib_rwq_ind_table *wq_ind_table);
1347 struct ib_mr *mlx5_ib_reg_dm_mr(struct ib_pd *pd, struct ib_dm *dm,
1348 struct ib_dm_mr_attr *attr,
1349 struct uverbs_attr_bundle *attrs);
1350
1351 #ifdef CONFIG_INFINIBAND_ON_DEMAND_PAGING
1352 int mlx5_ib_odp_init_one(struct mlx5_ib_dev *ibdev);
1353 int mlx5r_odp_create_eq(struct mlx5_ib_dev *dev, struct mlx5_ib_pf_eq *eq);
1354 void mlx5_ib_odp_cleanup_one(struct mlx5_ib_dev *ibdev);
1355 int __init mlx5_ib_odp_init(void);
1356 void mlx5_ib_odp_cleanup(void);
1357 int mlx5_odp_init_mkey_cache(struct mlx5_ib_dev *dev);
1358 void mlx5_odp_populate_xlt(void *xlt, size_t idx, size_t nentries,
1359 struct mlx5_ib_mr *mr, int flags);
1360
1361 int mlx5_ib_advise_mr_prefetch(struct ib_pd *pd,
1362 enum ib_uverbs_advise_mr_advice advice,
1363 u32 flags, struct ib_sge *sg_list, u32 num_sge);
1364 int mlx5_ib_init_odp_mr(struct mlx5_ib_mr *mr);
1365 int mlx5_ib_init_dmabuf_mr(struct mlx5_ib_mr *mr);
1366 #else /* CONFIG_INFINIBAND_ON_DEMAND_PAGING */
1367 static inline int mlx5_ib_odp_init_one(struct mlx5_ib_dev *ibdev) { return 0; }
1368 static inline int mlx5r_odp_create_eq(struct mlx5_ib_dev *dev,
1369 struct mlx5_ib_pf_eq *eq)
1370 {
1371 return 0;
1372 }
1373 static inline void mlx5_ib_odp_cleanup_one(struct mlx5_ib_dev *ibdev) {}
1374 static inline int mlx5_ib_odp_init(void) { return 0; }
1375 static inline void mlx5_ib_odp_cleanup(void) {}
1376 static inline int mlx5_odp_init_mkey_cache(struct mlx5_ib_dev *dev)
1377 {
> 1378 return NULL;
1379 }
1380 static inline void mlx5_odp_populate_xlt(void *xlt, size_t idx, size_t nentries,
1381 struct mlx5_ib_mr *mr, int flags) {}
1382
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
next prev parent reply other threads:[~2023-02-13 0:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-15 13:34 [PATCH v4 rdma-next 0/6] RDMA/mlx5: Switch MR cache to use RB-tree Michael Guralnik
2023-01-15 13:34 ` [PATCH v4 rdma-next 1/6] RDMA/mlx5: Don't keep umrable 'page_shift' in cache entries Michael Guralnik
2023-01-15 13:34 ` [PATCH v4 rdma-next 2/6] RDMA/mlx5: Remove explicit ODP cache entry Michael Guralnik
2023-01-16 16:59 ` Jason Gunthorpe
2023-01-16 23:24 ` Michael Guralnik
2023-01-16 23:45 ` Jason Gunthorpe
2023-01-17 0:08 ` Michael Guralnik
2023-01-17 14:49 ` Jason Gunthorpe
2023-01-15 13:34 ` [PATCH v4 rdma-next 3/6] RDMA/mlx5: Change the cache structure to an RB-tree Michael Guralnik
2023-01-15 13:34 ` [PATCH v4 rdma-next 4/6] RDMA/mlx5: Introduce mlx5r_cache_rb_key Michael Guralnik
2023-01-17 6:57 ` kernel test robot
2023-01-24 21:29 ` kernel test robot
2023-02-13 0:57 ` kernel test robot [this message]
2023-01-15 13:34 ` [PATCH v4 rdma-next 5/6] RDMA/mlx5: Cache all user cacheable mkeys on dereg MR flow Michael Guralnik
2023-01-15 13:34 ` [PATCH v4 rdma-next 6/6] RDMA/mlx5: Add work to remove temporary entries from the cache Michael Guralnik
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=202302130857.lpIUsPCr-lkp@intel.com \
--to=lkp@intel.com \
--cc=michaelgur@nvidia.com \
--cc=oe-kbuild-all@lists.linux.dev \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.