diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-05-13 12:51:50 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-05-14 15:09:37 -0400 |
commit | 9bb0b8136a7d5b50c5807af3bf12b758fb257814 (patch) | |
tree | 7c84b71e39ba4e6189a493aea35c6dbbd6d5a2d5 /include | |
parent | d72b6cec8d42eb7c2a249b613abf2c2b7a6eeb47 (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.h | 12 |
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 | ||