Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/alpha/include Make sure preemption is disabled arou...



details:   https://anonhg.NetBSD.org/src/rev/0abd8dc05274
branches:  trunk
changeset: 378963:0abd8dc05274
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Sat May 01 13:23:07 2021 +0000

description:
Make sure preemption is disabled around PMAP_USERRET(); it uses
per-cpu information.

XXX mi_userret() also internally disables preemption.  Should restructure
these to remove redundancies.

diffstat:

 sys/arch/alpha/include/userret.h |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (19 lines):

diff -r 4e8b5e1a784f -r 0abd8dc05274 sys/arch/alpha/include/userret.h
--- a/sys/arch/alpha/include/userret.h  Sat May 01 07:56:20 2021 +0000
+++ b/sys/arch/alpha/include/userret.h  Sat May 01 13:23:07 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: userret.h,v 1.10 2012/02/06 02:14:13 matt Exp $ */
+/* $NetBSD: userret.h,v 1.11 2021/05/01 13:23:07 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -103,7 +103,9 @@ userret(struct lwp *l)
        struct proc *p = l->l_proc;
 
        /* Do any deferred user pmap operations. */
+       KPREEMPT_DISABLE(l);
        PMAP_USERRET(vm_map_pmap(&p->p_vmspace->vm_map));
+       KPREEMPT_ENABLE(l);
 
        /* Invoke MI userret code */
        mi_userret(l);



Home | Main Index | Thread Index | Old Index