mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00:00
[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: Benjamin LaHaise <bcrl@kvack.org> Acked-by: Ken Chen <kenneth.w.chen@intel.com> Acked-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b62e8ec2ac
commit
97d2a80584
2 changed files with 0 additions and 17 deletions
15
fs/aio.c
15
fs/aio.c
|
@ -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)
|
||||||
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,
|
||||||
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 {
|
||||||
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 { \
|
||||||
} 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>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue