Commit 97d2a805 authored by Benjamin LaHaise's avatar Benjamin LaHaise Committed by Linus Torvalds

[PATCH] aio: remove ki_retried debugging member

Remove the ki_retried member from struct kiocb.  I think the idea was
bounced around a while back, but Arnaldo pointed out another reason that we
should dig it up when he pointed out that the last cacheline of struct
kiocb only contains 4 bytes.  By removing the debugging member, we save
more than the 8 byte on 64 bit machines.
Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
Acked-by: default avatarKen Chen <kenneth.w.chen@intel.com>
Acked-by: default avatarZach Brown <zach.brown@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b62e8ec2
...@@ -666,17 +666,6 @@ static ssize_t aio_run_iocb(struct kiocb *iocb) ...@@ -666,17 +666,6 @@ static ssize_t aio_run_iocb(struct kiocb *iocb)
ssize_t (*retry)(struct kiocb *); ssize_t (*retry)(struct kiocb *);
ssize_t ret; ssize_t ret;
if (iocb->ki_retried++ > 1024*1024) {
printk("Maximal retry count. Bytes done %Zd\n",
iocb->ki_nbytes - iocb->ki_left);
return -EAGAIN;
}
if (!(iocb->ki_retried & 0xff)) {
pr_debug("%ld retry: %zd of %zd\n", iocb->ki_retried,
iocb->ki_nbytes - iocb->ki_left, iocb->ki_nbytes);
}
if (!(retry = iocb->ki_retry)) { if (!(retry = iocb->ki_retry)) {
printk("aio_run_iocb: iocb->ki_retry = NULL\n"); printk("aio_run_iocb: iocb->ki_retry = NULL\n");
return 0; return 0;
...@@ -1005,9 +994,6 @@ int fastcall aio_complete(struct kiocb *iocb, long res, long res2) ...@@ -1005,9 +994,6 @@ int fastcall aio_complete(struct kiocb *iocb, long res, long res2)
kunmap_atomic(ring, KM_IRQ1); kunmap_atomic(ring, KM_IRQ1);
pr_debug("added to ring %p at [%lu]\n", iocb, tail); pr_debug("added to ring %p at [%lu]\n", iocb, tail);
pr_debug("%ld retries: %zd of %zd\n", iocb->ki_retried,
iocb->ki_nbytes - iocb->ki_left, iocb->ki_nbytes);
put_rq: put_rq:
/* everything turned out well, dispose of the aiocb. */ /* everything turned out well, dispose of the aiocb. */
ret = __aio_put_req(ctx, iocb); ret = __aio_put_req(ctx, iocb);
...@@ -1590,7 +1576,6 @@ int fastcall io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, ...@@ -1590,7 +1576,6 @@ int fastcall io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
req->ki_opcode = iocb->aio_lio_opcode; req->ki_opcode = iocb->aio_lio_opcode;
init_waitqueue_func_entry(&req->ki_wait, aio_wake_function); init_waitqueue_func_entry(&req->ki_wait, aio_wake_function);
INIT_LIST_HEAD(&req->ki_wait.task_list); INIT_LIST_HEAD(&req->ki_wait.task_list);
req->ki_retried = 0;
ret = aio_setup_iocb(req); ret = aio_setup_iocb(req);
......
...@@ -111,7 +111,6 @@ struct kiocb { ...@@ -111,7 +111,6 @@ struct kiocb {
size_t ki_nbytes; /* copy of iocb->aio_nbytes */ size_t ki_nbytes; /* copy of iocb->aio_nbytes */
char __user *ki_buf; /* remaining iocb->aio_buf */ char __user *ki_buf; /* remaining iocb->aio_buf */
size_t ki_left; /* remaining bytes */ size_t ki_left; /* remaining bytes */
long ki_retried; /* just for testing */
struct iovec ki_inline_vec; /* inline vector */ struct iovec ki_inline_vec; /* inline vector */
struct iovec *ki_iovec; struct iovec *ki_iovec;
unsigned long ki_nr_segs; unsigned long ki_nr_segs;
...@@ -238,7 +237,6 @@ do { \ ...@@ -238,7 +237,6 @@ do { \
} while (0) } while (0)
#define io_wait_to_kiocb(wait) container_of(wait, struct kiocb, ki_wait) #define io_wait_to_kiocb(wait) container_of(wait, struct kiocb, ki_wait)
#define is_retried_kiocb(iocb) ((iocb)->ki_retried > 1)
#include <linux/aio_abi.h> #include <linux/aio_abi.h>
......
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