[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241022070329.144782-1-pvmohammedanees2003@gmail.com>
Date: Tue, 22 Oct 2024 12:33:27 +0530
From: Mohammed Anees <pvmohammedanees2003@...il.com>
To: willy@...radead.org
Cc: bcrl@...ck.org,
brauner@...nel.org,
jack@...e.cz,
linux-aio@...ck.org,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
pvmohammedanees2003@...il.com,
viro@...iv.linux.org.uk
Subject: Re: [PATCH] fs: aio: Transition from Linked List to Hash Table for Active Request Management in AIO
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!!
Powered by blists - more mailing lists