freebsd-nq/sys/amd64/isa
Peter Wemm 6bd95d70db Work-in-progress commit syncing up pmap cleanups that I have been working
on for a while:
- fine grained TLB shootdown for SMP on i386
- ranged TLB shootdowns.. eg: specify a range of pages to shoot down with
  a single IPI, since the IPI is very expensive.  Adjust some callers
  that used to trigger this inside tight loops to do a ranged shootdown
  at the end instead.
- PG_G support for SMP on i386 (options ENABLE_PG_G)
- defer PG_G activation till after we decide what we are going to do with
  PSE and the 4MB pages at the start of the kernel.  This should solve
  some rumored strangeness about stale PG_G entries getting stuck
  underneath the 4MB pages.
- add some instrumentation for the fine TLB shootdown
- convert some asm instruction wrappers from functions to inlines.  gcc
  seems to do a fair bit better with this.
- [temporarily!] pessimize the tlb shootdown IPI handlers.  I will fix
  this again shortly.

This has been working fairly well for me for a while, but I have tweaked
it again prior to commit since my last major testing round.  The only
outstanding problem that I know of is PG_G related, which is why there
is an option for it (not on by default for SMP).  I have seen a world
speedups by a few percent (as much as 4 or 5% in one case) but I have
*not* accurately measured this - I am a bit sceptical of these numbers.
2002-02-25 23:49:51 +00:00
..
atpic_vector.S Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
clock.c Don't include <isa/isavar.h> or compile code depending on it when isa 2002-01-30 12:41:12 +00:00
icu_ipl.s Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
icu_ipl.S Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
icu_vector.s Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
icu_vector.S Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
icu.h Axe a commented, unused #define related to the old giant lock. 2001-08-24 16:52:31 +00:00
intr_machdep.c Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
intr_machdep.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
isa_dma.c Add ACPI attachments. 2001-08-30 09:17:03 +00:00
isa_dma.h Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags. 2000-03-13 10:19:32 +00:00
isa.c - Split the routine to initialize a bus_space_handle into the separate 2002-02-17 09:16:45 +00:00
isa.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ithread.c Removed unused includes. In particular, don't include <isa/isavar.h> since 2002-01-30 12:23:49 +00:00
nmi.c Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
npx.c Don't include <isa/isavar.h> or compile code depending on it when isa 2002-01-30 12:41:12 +00:00
timerreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vector.s Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
vector.S Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00