Date: Wed, 10 Jan 2001 16:29:05 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Jake Burkholder <jake@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/alpha interrupt.c machdep.c mp_machdep.c prom.c trap.c src/sys/dev/usb ohci.c uhci.c usbdi.c src/sys/dev/vinum vinumhdr.h vinummemory.c src/sys/i386/i386 bios.c db_interface.c machdep.c mp_machdep.c mpapic.c pmap.c ... Message-ID: <Pine.BSF.4.21.0101101602240.25131-100000@besplex.bde.org> In-Reply-To: <200101100443.f0A4hpo84748@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 9 Jan 2001, Jake Burkholder wrote: > jake 2001/01/09 20:43:51 PST > > Modified files: > sys/alpha/alpha interrupt.c machdep.c mp_machdep.c prom.c > trap.c > sys/dev/usb ohci.c uhci.c usbdi.c > sys/dev/vinum vinumhdr.h vinummemory.c > sys/i386/i386 bios.c db_interface.c machdep.c > mp_machdep.c mpapic.c pmap.c > sys_machdep.c trap.c vm86.c vm_machdep.c > sys/i386/include cpu.h > sys/i386/isa npx.c > sys/ia64/ia64 interrupt.c mp_machdep.c > sys/kern init_main.c kern_clock.c kern_exit.c > kern_ktr.c kern_malloc.c kern_mutex.c > kern_resource.c kern_shutdown.c > kern_subr.c kern_switch.c kern_synch.c > subr_prf.c vfs_bio.c > sys/sys buf.h > Log: > Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables > other then curproc. I wish I had objected earlier to your previous changes to prepare for this mistake. Machine-independent code shouldn't know that some variables are per-cpu. We had perfectly good access macros named curproc, etc. (except they weren't ifdefed right for modules). There is no need for function-like macros, since rvalue-like variables can always be implemented using macros (or [inline] functions) that return the value of the variable, and lvalue-like variables can always be implemented as `*(macro_that_returns_address_of_variable)'. This is what the old macros did. The `SET' macros can be more efficient in some cases, since they may be able to access the variable directly, but we currently don't do this. In fact, even the i386 `GET' macros have regressed from direct accesses in the %fs segment to indirect accesses via a pointer loaded from the %fs segment. > Revision Changes Path > 1.33 +4 -4 src/sys/alpha/alpha/interrupt.c > 1.106 +14 -14 src/sys/alpha/alpha/machdep.c > 1.7 +4 -4 src/sys/alpha/alpha/mp_machdep.c > 1.14 +10 -8 src/sys/alpha/alpha/prom.c > 1.39 +2 -2 src/sys/alpha/alpha/trap.c > 1.48 +2 -2 src/sys/dev/usb/ohci.c > 1.55 +2 -2 src/sys/dev/usb/uhci.c > 1.44 +2 -2 src/sys/dev/usb/usbdi.c > 1.19 +2 -2 src/sys/dev/vinum/vinumhdr.h > 1.24 +2 -2 src/sys/dev/vinum/vinummemory.c > 1.41 +2 -2 src/sys/i386/i386/bios.c > 1.54 +8 -6 src/sys/i386/i386/db_interface.c > 1.427 +9 -8 src/sys/i386/i386/machdep.c > 1.133 +20 -20 src/sys/i386/i386/mp_machdep.c > 1.45 +4 -4 src/sys/i386/i386/mpapic.c > 1.267 +37 -36 src/sys/i386/i386/pmap.c > 1.52 +4 -4 src/sys/i386/i386/sys_machdep.c > 1.164 +24 -17 src/sys/i386/i386/trap.c > 1.36 +4 -4 src/sys/i386/i386/vm86.c > 1.147 +6 -6 src/sys/i386/i386/vm_machdep.c > 1.54 +4 -4 src/sys/i386/include/cpu.h > 1.87 +18 -18 src/sys/i386/isa/npx.c > 1.5 +3 -3 src/sys/ia64/ia64/interrupt.c > 1.5 +4 -4 src/sys/ia64/ia64/mp_machdep.c > 1.152 +2 -2 src/sys/kern/init_main.c > 1.118 +3 -3 src/sys/kern/kern_clock.c > 1.113 +3 -3 src/sys/kern/kern_exit.c > 1.11 +2 -2 src/sys/kern/kern_ktr.c > 1.76 +2 -2 src/sys/kern/kern_malloc.c > 1.31 +6 -4 src/sys/kern/kern_mutex.c > 1.70 +6 -5 src/sys/kern/kern_resource.c > 1.91 +3 -3 src/sys/kern/kern_shutdown.c > 1.39 +4 -4 src/sys/kern/kern_subr.c > 1.9 +3 -3 src/sys/kern/kern_switch.c > 1.118 +13 -12 src/sys/kern/kern_synch.c > 1.70 +2 -2 src/sys/kern/subr_prf.c > 1.270 +6 -6 src/sys/kern/vfs_bio.c > 1.114 +2 -2 src/sys/sys/buf.h The corresponding changes for curproc would affect approximately 606 lines in 163 files. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0101101602240.25131-100000>