Commit 4bf69b2a authored by Ken Chen's avatar Ken Chen Committed by Linus Torvalds

[PATCH] aio: ring wrapping simplification

Since the tail pointer in aio_ring structure never wrap ring size more than
once, so a simple compare is sufficient to wrap the index around.  This avoid
a more expensive mod operation.
Signed-off-by: default avatarKen Chen <kenneth.w.chen@intel.com>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Suparna Bhattacharya <suparna@in.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 212079cf
...@@ -978,7 +978,8 @@ int fastcall aio_complete(struct kiocb *iocb, long res, long res2) ...@@ -978,7 +978,8 @@ int fastcall aio_complete(struct kiocb *iocb, long res, long res2)
tail = info->tail; tail = info->tail;
event = aio_ring_event(info, tail, KM_IRQ0); event = aio_ring_event(info, tail, KM_IRQ0);
tail = (tail + 1) % info->nr; if (++tail >= info->nr)
tail = 0;
event->obj = (u64)(unsigned long)iocb->ki_obj.user; event->obj = (u64)(unsigned long)iocb->ki_obj.user;
event->data = iocb->ki_user_data; event->data = iocb->ki_user_data;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment