Hi Matthew, > Benchmarks, please. Look at what operations are done on this list. > It's not at all obvious to me that what you've done here will improve > performance of any operation. This patch aims to improve this operation in io_cancel() syscall, currently this iterates through all the requests in the Linked list, checking for a match, which could take a significant time if the requests are high and once it finds one it deletes it. Using a hash table will significant reduce the search time, which is what the comment suggests as well. /* TODO: use a hash or array, this sucks. */ list_for_each_entry(kiocb, &ctx->active_reqs, ki_list) { if (kiocb->ki_res.obj == obj) { ret = kiocb->ki_cancel(&kiocb->rw); list_del_init(&kiocb->ki_list); break; } } I have tested this patch and believe it doesn’t affect the other functions. As for the io_cancel() syscall, please let me know exactly how you’d like me to test it so I can benchmark it accordingly. Thanks!!