Lines Matching full:imu
2882 struct io_mapped_ubuf *imu; in io_import_fixed() local
2890 imu = &ctx->user_bufs[index]; in io_import_fixed()
2897 if (buf_addr < imu->ubuf || buf_addr + len > imu->ubuf + imu->len) in io_import_fixed()
2904 offset = buf_addr - imu->ubuf; in io_import_fixed()
2905 iov_iter_bvec(iter, rw, imu->bvec, imu->nr_bvecs, offset + len); in io_import_fixed()
2924 const struct bio_vec *bvec = imu->bvec; in io_import_fixed()
8129 struct io_mapped_ubuf *imu = &ctx->user_bufs[i]; in io_sqe_buffer_unregister() local
8131 for (j = 0; j < imu->nr_bvecs; j++) in io_sqe_buffer_unregister()
8132 unpin_user_page(imu->bvec[j].bv_page); in io_sqe_buffer_unregister()
8134 if (imu->acct_pages) in io_sqe_buffer_unregister()
8135 io_unaccount_mem(ctx, imu->acct_pages, ACCT_PINNED); in io_sqe_buffer_unregister()
8136 kvfree(imu->bvec); in io_sqe_buffer_unregister()
8137 imu->nr_bvecs = 0; in io_sqe_buffer_unregister()
8195 struct io_mapped_ubuf *imu = &ctx->user_bufs[i]; in headpage_already_acct() local
8197 for (j = 0; j < imu->nr_bvecs; j++) { in headpage_already_acct()
8198 if (!PageCompound(imu->bvec[j].bv_page)) in headpage_already_acct()
8200 if (compound_head(imu->bvec[j].bv_page) == hpage) in headpage_already_acct()
8209 int nr_pages, struct io_mapped_ubuf *imu, in io_buffer_account_pin() argument
8216 imu->acct_pages++; in io_buffer_account_pin()
8226 imu->acct_pages += page_size(hpage) >> PAGE_SHIFT; in io_buffer_account_pin()
8230 if (!imu->acct_pages) in io_buffer_account_pin()
8233 ret = io_account_mem(ctx, imu->acct_pages, ACCT_PINNED); in io_buffer_account_pin()
8235 imu->acct_pages = 0; in io_buffer_account_pin()
8259 struct io_mapped_ubuf *imu = &ctx->user_bufs[i]; in io_sqe_buffer_register() local
8303 imu->bvec = kvmalloc_array(nr_pages, sizeof(struct bio_vec), in io_sqe_buffer_register()
8306 if (!imu->bvec) in io_sqe_buffer_register()
8336 kvfree(imu->bvec); in io_sqe_buffer_register()
8340 ret = io_buffer_account_pin(ctx, pages, pret, imu, &last_hpage); in io_sqe_buffer_register()
8343 kvfree(imu->bvec); in io_sqe_buffer_register()
8353 imu->bvec[j].bv_page = pages[j]; in io_sqe_buffer_register()
8354 imu->bvec[j].bv_len = vec_len; in io_sqe_buffer_register()
8355 imu->bvec[j].bv_offset = off; in io_sqe_buffer_register()
8360 imu->ubuf = ubuf; in io_sqe_buffer_register()
8361 imu->len = iov.iov_len; in io_sqe_buffer_register()
8362 imu->nr_bvecs = nr_pages; in io_sqe_buffer_register()