aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/linuxkpi/common/include/linux/sched.h
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2020-08-11 12:17:46 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2020-08-11 12:17:46 +0000
commit6ae240797f8b497f802b4380a28ddbaf9048ca74 (patch)
tree2c91d8f1caa939d6debf21b0871dbe53dda2c7f9 /sys/compat/linuxkpi/common/include/linux/sched.h
parenta90022d4d13a34b889081ca0ba9b9af4c78bd78d (diff)
downloadsrc-6ae240797f8b497f802b4380a28ddbaf9048ca74.tar.gz
src-6ae240797f8b497f802b4380a28ddbaf9048ca74.zip
Need to clone the task struct fields related to RCU aswell in the
LinuxKPI after r359727. This fixes a minor regression issue. Else the priority tracking won't work properly when both sleepable and non-sleepable RCU is in use on the same thread. Bump the __FreeBSD_version to force recompilation of external kernel modules. PR: 242272 MFC after: 1 week Sponsored by: Mellanox Technologies
Notes
Notes: svn path=/head/; revision=364109
Diffstat (limited to 'sys/compat/linuxkpi/common/include/linux/sched.h')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/sched.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/sched.h b/sys/compat/linuxkpi/common/include/linux/sched.h
index 0545710a61d7..da38d89eb639 100644
--- a/sys/compat/linuxkpi/common/include/linux/sched.h
+++ b/sys/compat/linuxkpi/common/include/linux/sched.h
@@ -76,8 +76,9 @@ struct task_struct {
unsigned bsd_ioctl_len;
struct completion parked;
struct completion exited;
- TAILQ_ENTRY(task_struct) rcu_entry;
- int rcu_recurse;
+#define TS_RCU_TYPE_MAX 2
+ TAILQ_ENTRY(task_struct) rcu_entry[TS_RCU_TYPE_MAX];
+ int rcu_recurse[TS_RCU_TYPE_MAX];
int bsd_interrupt_value;
struct work_struct *work; /* current work struct, if set */
struct task_struct *group_leader;