aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2010-05-13 12:51:50 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2010-05-14 15:09:37 -0400
commit9bb0b8136a7d5b50c5807af3bf12b758fb257814 (patch)
tree7c84b71e39ba4e6189a493aea35c6dbbd6d5a2d5 /include
parentd72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47 (diff)
SUNRPC: Reorder the struct rpc_task fields
This improves the packing of the rpc_task, and ensures that on 64-bit platforms the size reduces to 216 bytes. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/sunrpc/sched.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h
index 41b9f971c9fb..7be4f3a6d246 100644
--- a/include/linux/sunrpc/sched.h
+++ b/include/linux/sunrpc/sched.h
@@ -45,14 +45,11 @@ struct rpc_task {
45 struct list_head tk_task; /* global list of tasks */ 45 struct list_head tk_task; /* global list of tasks */
46 struct rpc_clnt * tk_client; /* RPC client */ 46 struct rpc_clnt * tk_client; /* RPC client */
47 struct rpc_rqst * tk_rqstp; /* RPC request */ 47 struct rpc_rqst * tk_rqstp; /* RPC request */
48 int tk_status; /* result of last operation */
49 48
50 /* 49 /*
51 * RPC call state 50 * RPC call state
52 */ 51 */
53 struct rpc_message tk_msg; /* RPC call info */ 52 struct rpc_message tk_msg; /* RPC call info */
54 __u8 tk_garb_retry;
55 __u8 tk_cred_retry;
56 53
57 /* 54 /*
58 * callback to be executed after waking up 55 * callback to be executed after waking up
@@ -65,7 +62,6 @@ struct rpc_task {
65 void * tk_calldata; 62 void * tk_calldata;
66 63
67 unsigned long tk_timeout; /* timeout for rpc_sleep() */ 64 unsigned long tk_timeout; /* timeout for rpc_sleep() */
68 unsigned short tk_flags; /* misc flags */
69 unsigned long tk_runstate; /* Task run status */ 65 unsigned long tk_runstate; /* Task run status */
70 struct workqueue_struct *tk_workqueue; /* Normally rpciod, but could 66 struct workqueue_struct *tk_workqueue; /* Normally rpciod, but could
71 * be any workqueue 67 * be any workqueue
@@ -76,15 +72,19 @@ struct rpc_task {
76 struct rpc_wait tk_wait; /* RPC wait */ 72 struct rpc_wait tk_wait; /* RPC wait */
77 } u; 73 } u;
78 74
79 unsigned short tk_timeouts; /* maj timeouts */
80 ktime_t tk_start; /* RPC task init timestamp */ 75 ktime_t tk_start; /* RPC task init timestamp */
81 76
82 pid_t tk_owner; /* Process id for batching tasks */ 77 pid_t tk_owner; /* Process id for batching tasks */
83 unsigned char tk_priority : 2;/* Task priority */ 78 int tk_status; /* result of last operation */
79 unsigned short tk_flags; /* misc flags */
80 unsigned short tk_timeouts; /* maj timeouts */
84 81
85#ifdef RPC_DEBUG 82#ifdef RPC_DEBUG
86 unsigned short tk_pid; /* debugging aid */ 83 unsigned short tk_pid; /* debugging aid */
87#endif 84#endif
85 unsigned char tk_priority : 2,/* Task priority */
86 tk_garb_retry : 2,
87 tk_cred_retry : 2;
88}; 88};
89#define tk_xprt tk_client->cl_xprt 89#define tk_xprt tk_client->cl_xprt
90 90