diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2020-08-11 12:17:46 +0000 |
---|---|---|
committer | Hans Petter Selasky <hselasky@FreeBSD.org> | 2020-08-11 12:17:46 +0000 |
commit | 6ae240797f8b497f802b4380a28ddbaf9048ca74 (patch) | |
tree | 2c91d8f1caa939d6debf21b0871dbe53dda2c7f9 /sys/compat/linuxkpi/common/include/linux/sched.h | |
parent | a90022d4d13a34b889081ca0ba9b9af4c78bd78d (diff) | |
download | src-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.h | 5 |
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; |