mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-28 01:45:45 +00:00
SUNRPC: Run rpci->queue_timeout on the rpciod workqueue instead of generic
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
f344f6df4b
commit
24c5d9d7ea
3 changed files with 5 additions and 3 deletions
|
@ -276,6 +276,7 @@ void rpc_show_tasks(void);
|
||||||
#endif
|
#endif
|
||||||
int rpc_init_mempool(void);
|
int rpc_init_mempool(void);
|
||||||
void rpc_destroy_mempool(void);
|
void rpc_destroy_mempool(void);
|
||||||
|
extern struct workqueue_struct *rpciod_workqueue;
|
||||||
|
|
||||||
static inline void rpc_exit(struct rpc_task *task, int status)
|
static inline void rpc_exit(struct rpc_task *task, int status)
|
||||||
{
|
{
|
||||||
|
|
|
@ -91,7 +91,8 @@ rpc_queue_upcall(struct inode *inode, struct rpc_pipe_msg *msg)
|
||||||
res = 0;
|
res = 0;
|
||||||
} else if (rpci->flags & RPC_PIPE_WAIT_FOR_OPEN) {
|
} else if (rpci->flags & RPC_PIPE_WAIT_FOR_OPEN) {
|
||||||
if (list_empty(&rpci->pipe))
|
if (list_empty(&rpci->pipe))
|
||||||
schedule_delayed_work(&rpci->queue_timeout,
|
queue_delayed_work(rpciod_workqueue,
|
||||||
|
&rpci->queue_timeout,
|
||||||
RPC_UPCALL_TIMEOUT);
|
RPC_UPCALL_TIMEOUT);
|
||||||
list_add_tail(&msg->list, &rpci->pipe);
|
list_add_tail(&msg->list, &rpci->pipe);
|
||||||
rpci->pipelen += msg->len;
|
rpci->pipelen += msg->len;
|
||||||
|
@ -132,7 +133,7 @@ rpc_close_pipes(struct inode *inode)
|
||||||
if (ops->release_pipe)
|
if (ops->release_pipe)
|
||||||
ops->release_pipe(inode);
|
ops->release_pipe(inode);
|
||||||
cancel_delayed_work(&rpci->queue_timeout);
|
cancel_delayed_work(&rpci->queue_timeout);
|
||||||
flush_scheduled_work();
|
flush_workqueue(rpciod_workqueue);
|
||||||
}
|
}
|
||||||
rpc_inode_setowner(inode, NULL);
|
rpc_inode_setowner(inode, NULL);
|
||||||
mutex_unlock(&inode->i_mutex);
|
mutex_unlock(&inode->i_mutex);
|
||||||
|
|
|
@ -64,7 +64,7 @@ static LIST_HEAD(all_tasks);
|
||||||
*/
|
*/
|
||||||
static DECLARE_MUTEX(rpciod_sema);
|
static DECLARE_MUTEX(rpciod_sema);
|
||||||
static unsigned int rpciod_users;
|
static unsigned int rpciod_users;
|
||||||
static struct workqueue_struct *rpciod_workqueue;
|
struct workqueue_struct *rpciod_workqueue;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Spinlock for other critical sections of code.
|
* Spinlock for other critical sections of code.
|
||||||
|
|
Loading…
Add table
Reference in a new issue