diff options
Diffstat (limited to 'include/linux/sunrpc/sched.h')
| -rw-r--r-- | include/linux/sunrpc/sched.h | 24 | 
1 files changed, 20 insertions, 4 deletions
| diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index e7756896f3ca..dc0c3cc3ada3 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h @@ -103,6 +103,7 @@ typedef void			(*rpc_action)(struct rpc_task *);  struct rpc_call_ops {  	void (*rpc_call_prepare)(struct rpc_task *, void *);  	void (*rpc_call_done)(struct rpc_task *, void *); +	void (*rpc_count_stats)(struct rpc_task *, void *);  	void (*rpc_release)(void *);  }; @@ -195,7 +196,7 @@ struct rpc_wait_queue {  	unsigned char		nr;			/* # tasks remaining for cookie */  	unsigned short		qlen;			/* total # tasks waiting in queue */  	struct rpc_timer	timer_list; -#ifdef RPC_DEBUG +#if defined(RPC_DEBUG) || defined(RPC_TRACEPOINTS)  	const char *		name;  #endif  }; @@ -235,6 +236,9 @@ void		rpc_wake_up_queued_task(struct rpc_wait_queue *,  					struct rpc_task *);  void		rpc_wake_up(struct rpc_wait_queue *);  struct rpc_task *rpc_wake_up_next(struct rpc_wait_queue *); +struct rpc_task *rpc_wake_up_first(struct rpc_wait_queue *, +					bool (*)(struct rpc_task *, void *), +					void *);  void		rpc_wake_up_status(struct rpc_wait_queue *, int);  int		rpc_queue_empty(struct rpc_wait_queue *);  void		rpc_delay(struct rpc_task *, unsigned long); @@ -244,7 +248,8 @@ int		rpciod_up(void);  void		rpciod_down(void);  int		__rpc_wait_for_completion_task(struct rpc_task *task, int (*)(void *));  #ifdef RPC_DEBUG -void		rpc_show_tasks(void); +struct net; +void		rpc_show_tasks(struct net *);  #endif  int		rpc_init_mempool(void);  void		rpc_destroy_mempool(void); @@ -266,11 +271,22 @@ static inline int rpc_task_has_priority(struct rpc_task *task, unsigned char pri  	return (task->tk_priority + RPC_PRIORITY_LOW == prio);  } -#ifdef RPC_DEBUG -static inline const char * rpc_qname(struct rpc_wait_queue *q) +#if defined(RPC_DEBUG) || defined (RPC_TRACEPOINTS) +static inline const char * rpc_qname(const struct rpc_wait_queue *q)  {  	return ((q && q->name) ? q->name : "unknown");  } + +static inline void rpc_assign_waitqueue_name(struct rpc_wait_queue *q, +		const char *name) +{ +	q->name = name; +} +#else +static inline void rpc_assign_waitqueue_name(struct rpc_wait_queue *q, +		const char *name) +{ +}  #endif  #endif /* _LINUX_SUNRPC_SCHED_H_ */ | 
