struct io_rsrc_data             *file_data;
        struct io_rsrc_data             *buf_data;
 
-       /* protected by ->uring_lock */
-       struct io_alloc_cache           rsrc_node_cache;
-
        u32                     pers_next;
        struct xarray           personalities;
 
 
        INIT_LIST_HEAD(&ctx->sqd_list);
        INIT_LIST_HEAD(&ctx->cq_overflow_list);
        INIT_LIST_HEAD(&ctx->io_buffers_cache);
-       ret = io_alloc_cache_init(&ctx->rsrc_node_cache, IO_NODE_ALLOC_CACHE_MAX,
-                           sizeof(struct io_rsrc_node));
-       ret |= io_alloc_cache_init(&ctx->apoll_cache, IO_POLL_ALLOC_CACHE_MAX,
+       ret = io_alloc_cache_init(&ctx->apoll_cache, IO_POLL_ALLOC_CACHE_MAX,
                            sizeof(struct async_poll));
        ret |= io_alloc_cache_init(&ctx->netmsg_cache, IO_ALLOC_CACHE_MAX,
                            sizeof(struct io_async_msghdr));
 free_ref:
        percpu_ref_exit(&ctx->refs);
 err:
-       io_alloc_cache_free(&ctx->rsrc_node_cache, kfree);
        io_alloc_cache_free(&ctx->apoll_cache, kfree);
        io_alloc_cache_free(&ctx->netmsg_cache, io_netmsg_cache_free);
        io_alloc_cache_free(&ctx->rw_cache, io_rw_cache_free);
 
        WARN_ON_ONCE(!list_empty(&ctx->ltimeout_list));
 
-       io_alloc_cache_free(&ctx->rsrc_node_cache, kfree);
        if (ctx->mm_account) {
                mmdrop(ctx->mm_account);
                ctx->mm_account = NULL;
 
 #include <uapi/linux/io_uring.h>
 
 #include "io_uring.h"
-#include "alloc_cache.h"
 #include "openclose.h"
 #include "rsrc.h"
 #include "memmap.h"
 {
        struct io_rsrc_node *node;
 
-       node = io_alloc_cache_get(&ctx->rsrc_node_cache);
-       if (!node) {
-               node = kzalloc(sizeof(*node), GFP_KERNEL);
-               if (!node)
-                       return NULL;
+       node = kzalloc(sizeof(*node), GFP_KERNEL);
+       if (node) {
+               node->ctx = ctx;
+               node->refs = 1;
+               node->type = type;
        }
-
-       node->ctx = ctx;
-       node->refs = 1;
-       node->type = type;
        return node;
 }
 
                break;
        }
 
-       if (!io_alloc_cache_put(&ctx->rsrc_node_cache, node))
-               kfree(node);
+       kfree(node);
 }
 
 static void __io_sqe_files_unregister(struct io_ring_ctx *ctx)