Linux 4.13 compat: wait queues

Commit torvalds/linux@ac6424b9
- Renamed struct wait_queue -> struct wait_queue_entry.

Commit torvalds/linux@2055da97
- Renamed wait_queue_head::task_list -> wait_queue_head::head
- Renamed wait_queue_entry::task_list -> wait_queue_entry::entry

Reviewed-by: Chunwei Chen <david.chen@osnexus.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #629
This commit is contained in:
Brian Behlendorf
2017-07-23 19:32:14 -07:00
committed by GitHub
parent ae42190b79
commit 944117514d
10 changed files with 91 additions and 14 deletions
+12 -2
View File
@@ -244,7 +244,7 @@ taskq_seq_show_impl(struct seq_file *f, void *p, boolean_t allflag)
{
taskq_t *tq = p;
taskq_thread_t *tqt;
wait_queue_t *wq;
spl_wait_queue_entry_t *wq;
struct task_struct *tsk;
taskq_ent_t *tqe;
char name[100];
@@ -261,7 +261,11 @@ taskq_seq_show_impl(struct seq_file *f, void *p, boolean_t allflag)
lheads[LHEAD_PEND] = &tq->tq_pend_list;
lheads[LHEAD_PRIO] = &tq->tq_prio_list;
lheads[LHEAD_DELAY] = &tq->tq_delay_list;
#ifdef HAVE_WAIT_QUEUE_HEAD_ENTRY
lheads[LHEAD_WAIT] = &tq->tq_wait_waitq.head;
#else
lheads[LHEAD_WAIT] = &tq->tq_wait_waitq.task_list;
#endif
lheads[LHEAD_ACTIVE] = &tq->tq_active_list;
for (i = 0; i < LHEAD_SIZE; ++i) {
@@ -320,7 +324,13 @@ taskq_seq_show_impl(struct seq_file *f, void *p, boolean_t allflag)
}
/* show the wait waitq list */
if (i == LHEAD_WAIT) {
wq = list_entry(lh, wait_queue_t, task_list);
#ifdef HAVE_WAIT_QUEUE_HEAD_ENTRY
wq = list_entry(lh,
spl_wait_queue_entry_t, entry);
#else
wq = list_entry(lh,
spl_wait_queue_entry_t, task_list);
#endif
if (j == 0)
seq_printf(f, "\t%s:",
list_names[i]);
+2 -1
View File
@@ -28,6 +28,7 @@
#include <sys/thread.h>
#include <sys/mutex.h>
#include <linux/mm_compat.h>
#include <linux/wait_compat.h>
#include <linux/slab.h>
#include "splat-internal.h"
@@ -55,7 +56,7 @@ typedef struct atomic_priv {
unsigned long ap_magic;
struct file *ap_file;
kmutex_t ap_lock;
wait_queue_head_t ap_waitq;
spl_wait_queue_head_t ap_waitq;
volatile uint64_t ap_atomic;
volatile uint64_t ap_atomic_exited;
atomic_op_t ap_op;
+2 -2
View File
@@ -275,8 +275,8 @@ typedef struct kmem_cache_priv {
struct file *kcp_file;
kmem_cache_t *kcp_cache;
spinlock_t kcp_lock;
wait_queue_head_t kcp_ctl_waitq;
wait_queue_head_t kcp_thr_waitq;
spl_wait_queue_head_t kcp_ctl_waitq;
spl_wait_queue_head_t kcp_thr_waitq;
int kcp_flags;
int kcp_kct_count;
kmem_cache_thread_t *kcp_kct[SPLAT_KMEM_THREADS];
+1 -1
View File
@@ -76,7 +76,7 @@ typedef struct rw_priv {
struct file *rw_file;
krwlock_t rw_rwlock;
spinlock_t rw_lock;
wait_queue_head_t rw_waitq;
spl_wait_queue_head_t rw_waitq;
int rw_completed;
int rw_holders;
int rw_waiters;
+2 -1
View File
@@ -28,6 +28,7 @@
#include <sys/random.h>
#include <linux/delay.h>
#include <linux/mm_compat.h>
#include <linux/wait_compat.h>
#include <linux/slab.h>
#include "splat-internal.h"
@@ -54,7 +55,7 @@ typedef struct thread_priv {
unsigned long tp_magic;
struct file *tp_file;
spinlock_t tp_lock;
wait_queue_head_t tp_waitq;
spl_wait_queue_head_t tp_waitq;
uint_t tp_keys[SPLAT_THREAD_TEST_KEYS];
int tp_rc;
int tp_count;