Date: Mon, 25 Feb 2002 12:27:20 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Bruce Evans <bde@zeta.org.au> Cc: Terry Lambert <tlambert2@mindspring.com>, Alfred Perlstein <alfred@FreeBSD.ORG>, Bosko Milekic <bmilekic@unixdaemons.com>, Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>, <current@FreeBSD.ORG>, John Baldwin <jhb@FreeBSD.ORG> Subject: Re: Patch for critical_enter()/critical_exit() & interrupt assembly revamp, please review! Message-ID: <200202252027.g1PKRKU52902@apollo.backplane.com> References: <20020225164356.Q39518-100000@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Unless an unforseen problem arises, I am going to commit this tomorrow and then start working on a cleanup patch. I have decided to keep the sysctl instrumentation intact for the moment so people who experience panics or lockups can turn it off to see whether that was the cause or not. The cleanup patch will deal with moving the critical_*() functions from MI to MD, inlining, and the removal of the (old) CRITICAL_FORK and (new) MACHINE_CRITICAL_ENTER hacks. I'll probably wind up adding <machine/critical.h> (i.e. /usr/src/sys/<arch>/include/critical.h) and for i386 sys/i386/i386/critical.c to hold unpend() and other support routines. I've looked at cleaning up cpu_critical_enter() & exit but its use pollutes a number of MI source files: kern/kern_ktr.c, kern/subr_trap.c, and kern/subr_witness.c are all misusing the functions. If these functions can safely be changed to use critical_enter() and critical_exit() I will rename the i386's cpu_critical*() functions into intr_disable() and intr_restore() and then use the new names for internal i386 use. Is there any reason why the above uses of cpu_critical*() cannot be changed to use standard critical*()? I believe we *always* have a curthread structure to play with so it should just work. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202252027.g1PKRKU52902>