Lines Matching refs:imu

887 	struct io_mapped_ubuf		*imu;  member
2888 req->imu = NULL; in io_prep_rw()
2961 struct io_mapped_ubuf *imu) in __io_import_fixed() argument
2970 if (unlikely(buf_addr < imu->ubuf || buf_end > imu->ubuf_end)) in __io_import_fixed()
2977 offset = buf_addr - imu->ubuf; in __io_import_fixed()
2978 iov_iter_bvec(iter, rw, imu->bvec, imu->nr_bvecs, offset + len); in __io_import_fixed()
2997 const struct bio_vec *bvec = imu->bvec; in __io_import_fixed()
3021 struct io_mapped_ubuf *imu = req->imu; in io_import_fixed() local
3024 if (likely(!imu)) { in io_import_fixed()
3028 imu = READ_ONCE(ctx->user_bufs[index]); in io_import_fixed()
3029 req->imu = imu; in io_import_fixed()
3031 return __io_import_fixed(req, rw, iter, imu); in io_import_fixed()
8793 struct io_mapped_ubuf *imu = *slot; in io_buffer_unmap() local
8796 if (imu != ctx->dummy_ubuf) { in io_buffer_unmap()
8797 for (i = 0; i < imu->nr_bvecs; i++) in io_buffer_unmap()
8798 unpin_user_page(imu->bvec[i].bv_page); in io_buffer_unmap()
8799 if (imu->acct_pages) in io_buffer_unmap()
8800 io_unaccount_mem(ctx, imu->acct_pages); in io_buffer_unmap()
8801 kvfree(imu); in io_buffer_unmap()
8887 struct io_mapped_ubuf *imu = ctx->user_bufs[i]; in headpage_already_acct() local
8889 for (j = 0; j < imu->nr_bvecs; j++) { in headpage_already_acct()
8890 if (!PageCompound(imu->bvec[j].bv_page)) in headpage_already_acct()
8892 if (compound_head(imu->bvec[j].bv_page) == hpage) in headpage_already_acct()
8901 int nr_pages, struct io_mapped_ubuf *imu, in io_buffer_account_pin() argument
8906 imu->acct_pages = 0; in io_buffer_account_pin()
8909 imu->acct_pages++; in io_buffer_account_pin()
8919 imu->acct_pages += page_size(hpage) >> PAGE_SHIFT; in io_buffer_account_pin()
8923 if (!imu->acct_pages) in io_buffer_account_pin()
8926 ret = io_account_mem(ctx, imu->acct_pages); in io_buffer_account_pin()
8928 imu->acct_pages = 0; in io_buffer_account_pin()
8936 struct io_mapped_ubuf *imu = NULL; in io_sqe_buffer_register() local
8965 imu = kvmalloc(struct_size(imu, bvec, nr_pages), GFP_KERNEL); in io_sqe_buffer_register()
8966 if (!imu) in io_sqe_buffer_register()
9000 ret = io_buffer_account_pin(ctx, pages, pret, imu, last_hpage); in io_sqe_buffer_register()
9012 imu->bvec[i].bv_page = pages[i]; in io_sqe_buffer_register()
9013 imu->bvec[i].bv_len = vec_len; in io_sqe_buffer_register()
9014 imu->bvec[i].bv_offset = off; in io_sqe_buffer_register()
9019 imu->ubuf = ubuf; in io_sqe_buffer_register()
9020 imu->ubuf_end = ubuf + iov->iov_len; in io_sqe_buffer_register()
9021 imu->nr_bvecs = nr_pages; in io_sqe_buffer_register()
9022 *pimu = imu; in io_sqe_buffer_register()
9026 kvfree(imu); in io_sqe_buffer_register()
9131 struct io_mapped_ubuf *imu; in __io_sqe_buffers_update() local
9149 err = io_sqe_buffer_register(ctx, &iov, &imu, &last_hpage); in __io_sqe_buffers_update()
9158 io_buffer_unmap(ctx, &imu); in __io_sqe_buffers_update()
9165 ctx->user_bufs[i] = imu; in __io_sqe_buffers_update()