forked from Minki/linux
io_uring: kill hot path fixed file bitmap debug checks
We test file_table.bitmap in io_file_get_fixed() to check invariants, don't do it, it's expensive and was showing up in profiles. No reports of this triggering has come in. Move the check to the file clear instead, which will still catch any wrong usage. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Link: https://lore.kernel.org/r/cf77f2ded68d2e5b2bc7355784d969837d48e023.1665891182.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
38eddb2c75
commit
4d5059512d
@ -25,6 +25,7 @@ unsigned int io_file_get_flags(struct file *file);
|
||||
|
||||
static inline void io_file_bitmap_clear(struct io_file_table *table, int bit)
|
||||
{
|
||||
WARN_ON_ONCE(!test_bit(bit, table->bitmap));
|
||||
__clear_bit(bit, table->bitmap);
|
||||
table->alloc_hint = bit;
|
||||
}
|
||||
|
@ -1858,7 +1858,6 @@ inline struct file *io_file_get_fixed(struct io_kiocb *req, int fd,
|
||||
/* mask in overlapping REQ_F and FFS bits */
|
||||
req->flags |= (file_ptr << REQ_F_SUPPORT_NOWAIT_BIT);
|
||||
io_req_set_rsrc_node(req, ctx, 0);
|
||||
WARN_ON_ONCE(file && !test_bit(fd, ctx->file_table.bitmap));
|
||||
out:
|
||||
io_ring_submit_unlock(ctx, issue_flags);
|
||||
return file;
|
||||
|
Loading…
Reference in New Issue
Block a user