summaryrefslogtreecommitdiff
path: root/kern/thread_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'kern/thread_i.h')
-rw-r--r--kern/thread_i.h17
1 files changed, 4 insertions, 13 deletions
diff --git a/kern/thread_i.h b/kern/thread_i.h
index 97d037b..476d013 100644
--- a/kern/thread_i.h
+++ b/kern/thread_i.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 Richard Braun.
+ * Copyright (c) 2017-2018 Richard Braun.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,9 +22,9 @@
#include <stdbool.h>
#include <kern/atomic.h>
-#include <kern/condition_types.h>
#include <kern/cpumap.h>
#include <kern/list_types.h>
+#include <kern/rcu_types.h>
#include <kern/spinlock_types.h>
#include <kern/turnstile_types.h>
#include <machine/cpu.h>
@@ -125,15 +125,6 @@ struct thread {
/* Turnstile available for lending */
struct turnstile *priv_turnstile; /* (-) */
- /*
- * When a thread wakes up after waiting for a condition variable,
- * it sets this variable so that other waiters are only awaken
- * after the associated mutex has actually been released.
- *
- * This member is thread-local.
- */
- struct condition *last_cond; /* (-) */
-
struct turnstile_td turnstile_td; /* (t) */
/* True if priority must be propagated when preemption is reenabled */
@@ -148,8 +139,8 @@ struct thread {
/* Interrupt level, in thread context if 0 */
unsigned short intr_level; /* (-) */
- /* Read-side critical section level, not in any if 0 */
- unsigned short llsync_level; /* (-) */
+ /* RCU per-thread data */
+ struct rcu_reader rcu_reader; /* (-) */
/* Processors on which this thread is allowed to run */
struct cpumap cpumap; /* (r) */