Searched hist:f7496dcab0360a74bfb00cd6118f66323fffda61 (Results 1 – 6 of 6) sorted by relevance
/freebsd/sys/kern/ |
H A D | sysv_msg.c | diff f7496dcab0360a74bfb00cd6118f66323fffda61 Sun Feb 21 19:55:44 CET 2021 Jamie Gritton <jamie@FreeBSD.org> jail: Change the locking around pr_ref and pr_uref
Require both the prison mutex and allprison_lock when pr_ref or pr_uref go to/from zero. Adding a non-first or removing a non-last reference remain lock-free. This means that a shared hold on allprison_lock is sufficient for prison_isalive() to be useful, which removes a number of cases of lock/check/unlock on the prison mutex.
Expand the locking in kern_jail_set() to keep allprison_lock held exclusive until the new prison is valid, thus making invalid prisons invisible to any thread holding allprison_lock (except of course the one creating or destroying the prison). This renders prison_isvalid() nearly redundant, now used only in asserts.
Differential Revision: https://reviews.freebsd.org/D28419 Differential Revision: https://reviews.freebsd.org/D28458
|
H A D | uipc_mqueue.c | diff f7496dcab0360a74bfb00cd6118f66323fffda61 Sun Feb 21 19:55:44 CET 2021 Jamie Gritton <jamie@FreeBSD.org> jail: Change the locking around pr_ref and pr_uref
Require both the prison mutex and allprison_lock when pr_ref or pr_uref go to/from zero. Adding a non-first or removing a non-last reference remain lock-free. This means that a shared hold on allprison_lock is sufficient for prison_isalive() to be useful, which removes a number of cases of lock/check/unlock on the prison mutex.
Expand the locking in kern_jail_set() to keep allprison_lock held exclusive until the new prison is valid, thus making invalid prisons invisible to any thread holding allprison_lock (except of course the one creating or destroying the prison). This renders prison_isvalid() nearly redundant, now used only in asserts.
Differential Revision: https://reviews.freebsd.org/D28419 Differential Revision: https://reviews.freebsd.org/D28458
|
H A D | sysv_sem.c | diff f7496dcab0360a74bfb00cd6118f66323fffda61 Sun Feb 21 19:55:44 CET 2021 Jamie Gritton <jamie@FreeBSD.org> jail: Change the locking around pr_ref and pr_uref
Require both the prison mutex and allprison_lock when pr_ref or pr_uref go to/from zero. Adding a non-first or removing a non-last reference remain lock-free. This means that a shared hold on allprison_lock is sufficient for prison_isalive() to be useful, which removes a number of cases of lock/check/unlock on the prison mutex.
Expand the locking in kern_jail_set() to keep allprison_lock held exclusive until the new prison is valid, thus making invalid prisons invisible to any thread holding allprison_lock (except of course the one creating or destroying the prison). This renders prison_isvalid() nearly redundant, now used only in asserts.
Differential Revision: https://reviews.freebsd.org/D28419 Differential Revision: https://reviews.freebsd.org/D28458
|
H A D | sysv_shm.c | diff f7496dcab0360a74bfb00cd6118f66323fffda61 Sun Feb 21 19:55:44 CET 2021 Jamie Gritton <jamie@FreeBSD.org> jail: Change the locking around pr_ref and pr_uref
Require both the prison mutex and allprison_lock when pr_ref or pr_uref go to/from zero. Adding a non-first or removing a non-last reference remain lock-free. This means that a shared hold on allprison_lock is sufficient for prison_isalive() to be useful, which removes a number of cases of lock/check/unlock on the prison mutex.
Expand the locking in kern_jail_set() to keep allprison_lock held exclusive until the new prison is valid, thus making invalid prisons invisible to any thread holding allprison_lock (except of course the one creating or destroying the prison). This renders prison_isvalid() nearly redundant, now used only in asserts.
Differential Revision: https://reviews.freebsd.org/D28419 Differential Revision: https://reviews.freebsd.org/D28458
|
H A D | kern_jail.c | diff f7496dcab0360a74bfb00cd6118f66323fffda61 Sun Feb 21 19:55:44 CET 2021 Jamie Gritton <jamie@FreeBSD.org> jail: Change the locking around pr_ref and pr_uref
Require both the prison mutex and allprison_lock when pr_ref or pr_uref go to/from zero. Adding a non-first or removing a non-last reference remain lock-free. This means that a shared hold on allprison_lock is sufficient for prison_isalive() to be useful, which removes a number of cases of lock/check/unlock on the prison mutex.
Expand the locking in kern_jail_set() to keep allprison_lock held exclusive until the new prison is valid, thus making invalid prisons invisible to any thread holding allprison_lock (except of course the one creating or destroying the prison). This renders prison_isvalid() nearly redundant, now used only in asserts.
Differential Revision: https://reviews.freebsd.org/D28419 Differential Revision: https://reviews.freebsd.org/D28458
|
/freebsd/sys/sys/ |
H A D | jail.h | diff f7496dcab0360a74bfb00cd6118f66323fffda61 Sun Feb 21 19:55:44 CET 2021 Jamie Gritton <jamie@FreeBSD.org> jail: Change the locking around pr_ref and pr_uref
Require both the prison mutex and allprison_lock when pr_ref or pr_uref go to/from zero. Adding a non-first or removing a non-last reference remain lock-free. This means that a shared hold on allprison_lock is sufficient for prison_isalive() to be useful, which removes a number of cases of lock/check/unlock on the prison mutex.
Expand the locking in kern_jail_set() to keep allprison_lock held exclusive until the new prison is valid, thus making invalid prisons invisible to any thread holding allprison_lock (except of course the one creating or destroying the prison). This renders prison_isvalid() nearly redundant, now used only in asserts.
Differential Revision: https://reviews.freebsd.org/D28419 Differential Revision: https://reviews.freebsd.org/D28458
|