plan9fox/sys/src/9/pc
cinap_lenrek 29f60cace1 kernel: avoid palloc lock during mmurelease()
Previously, mmurelease() was always called with
palloc spinlock held.

This is unneccesary for some mmurelease()
implementations as they wont release pages
to the palloc pool.

This change removes pagechainhead() and
pagechaindone() and replaces them with just
freepages() call, which aquires the palloc
lock internally as needed.

freepages() avoids holding the palloc lock
while walking the linked list of pages,
avoding some lock contention.
2020-12-22 16:29:55 +01:00
..
a100p.cp
ahci.h
apbootstrap.s
apic.c
apm.c
apmjump.s
archacpi.c pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
archgeneric.c pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
archmp.c pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
audioac97.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
audioac97mix.c
audiohda.c audiohda: do not enable interrupts before intrenable() 2020-11-15 14:34:17 +01:00
audiosb16.c audiosb16: cleanup audioprobe(), cast ISAConf.port to ulong 2020-06-06 16:31:07 +02:00
bios32.c
bootargs.c pc, pc64: new memory map code 2020-04-04 16:48:37 +02:00
cga.c
cputemp.c amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable 2020-12-06 18:48:32 +01:00
dat.h amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable 2020-12-06 18:48:32 +01:00
devarch.c pc, pc64: cleanup cpuidentify() and some comments 2020-12-08 16:58:41 +01:00
devfloppy.c
devi82365.c pc, pc64: new memory map code 2020-04-04 16:48:37 +02:00
devkbd.c devkbd: bits bad! revert repeat/delay, better patches welcome 2020-04-01 11:31:19 +02:00
devlm78.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
devlml.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
devlml.h
devlpt.c
devpccard.c pc, pc64: allocate i/o port space for unassigned pci bars, move ioalloc() to port/iomap.c 2020-11-03 20:46:09 +01:00
devrtc.c
devtv.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
devvga.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
devvmx.c amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable 2020-12-06 18:48:32 +01:00
dma.c pc/dma, pc/sdide: use uintptr for physical address instead of ulong 2020-12-05 17:01:24 +01:00
ec.c
ether79c970.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether589.c
ether2000.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether2114x.c ether2114x: make sure pci bar0 is I/O 2020-12-17 21:02:11 +01:00
ether8003.c pc, pc64: new memory map code 2020-04-04 16:48:37 +02:00
ether8139.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether8169.c ether8169: fix interrupt panic before init, defer initialization until attach 2020-11-21 22:03:13 +01:00
ether8390.c ether8390: remove unused variables 2020-04-04 15:55:48 +02:00
ether8390.h
ether82543gc.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether82557.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether82563.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether82598.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ether83815.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherbcm.c etherbcm: handle 64-bit host addresses, use PCIWADDR() instead of PADDR() 2020-10-18 17:01:50 +02:00
etherdp83820.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherec2t.c
etherelnk3.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherga620.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherga620fw.h
etherigbe.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etheriwl.c etheriwl: bring back recovery on flushq timeout 2020-11-15 14:54:09 +01:00
etherm10g.c etherm10g: remove duplicated pci capability enum 2020-11-21 00:45:44 +01:00
etherm10g2k.fw
etherm10g4k.fw
etherrt2860.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ethersmc.c
ethervgbe.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ethervirtio.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ethervt6102.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
ethervt6105m.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherwavelan.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherwpi.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etherx550.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
etheryuk.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
floppy.h
fns.h pc, xen: move fpu setup/fork/save/restore handlers to pc/fpu.c 2020-12-21 15:04:48 +01:00
fpu.c pc, xen: move fpu setup/fork/save/restore handlers to pc/fpu.c 2020-12-21 15:04:48 +01:00
hcwAMC.h
i8253.c
i8259.c pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
init9.c
io.h pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
irq.c pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
l.s amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable 2020-12-06 18:48:32 +01:00
main.c pc, xen: move fpu setup/fork/save/restore handlers to pc/fpu.c 2020-12-21 15:04:48 +01:00
mem.h pc, pc64: do page attribute table (PAT) init early in cpuidentify() 2020-05-22 23:58:24 +02:00
memory.c pc, pc64: ignore MTRR's when MTRRCap.vcnt and MTRRCap.fix are zero 2020-12-11 15:21:44 +01:00
mkfile amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable 2020-12-06 18:48:32 +01:00
mmu.c kernel: avoid palloc lock during mmurelease() 2020-12-22 16:29:55 +01:00
mouse.c
mp.c pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
mp.h pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
mtrr.c pc, pc64: make sure write combining is supported in MTRR's before setting it 2020-12-11 15:23:03 +01:00
nv_dma.h
pc pc, pc64, xen: rewrite interrupt handling code 2020-11-29 17:43:22 +01:00
pcipc.c pc, pc64: disable all pci devices in pcicfginit() 2020-11-21 16:10:56 +01:00
pcmciamodem.c pc/pcmciamodem: cast i/o port to ulong 2020-06-06 16:21:42 +02:00
pcmkfile
piix4smbus.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
pmmc.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
rebootcode.s
screen.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
screen.h devvga: use 64-bit physical addresses for framebuffer 2020-06-06 15:23:50 +02:00
sd53c8xx.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
sd53c8xx.n
sdiahci.c sdiahci: assume 64-bit PCIWADDR() 2020-12-12 18:16:06 +01:00
sdide.c pc/dma, pc/sdide: use uintptr for physical address instead of ulong 2020-12-05 17:01:24 +01:00
sdmv50xx.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
sdmylex.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
sdnvme.c sdnvme: use PCIWADDR() instead of PADDR() 2020-10-18 17:02:42 +02:00
sdodin.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
sdvirtio.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
segdesc.c
squidboy.c
trap.c kernel: handle tos and per process pcycle counters in port/ 2020-12-20 22:34:41 +01:00
uartaxp.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
uarti8250.c
uartisa.c
uartpci.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
usbehci.h usbehci: introduce dmaflush() function to handle portable cache invalidation for device drivers 2019-07-17 10:24:50 +02:00
usbehcipc.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
usbohci.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
usbuhci.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vga.c devvga: use 64-bit physical addresses for framebuffer 2020-06-06 15:23:50 +02:00
vga3dfx.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgaark2000pv.c
vgabt485.c
vgaclgd542x.c
vgaclgd546x.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgact65545.c
vgacyber938x.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgaet4000.c
vgageode.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgahiqvideo.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgai81x.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgaigfx.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgamach64xx.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgamga4xx.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgamga2164w.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vganeomagic.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vganvidia.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgaradeon.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgargb524.c
vgas3.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgasavage.c
vgasoft.c kernel: cleanup the software mouse cursor mess 2020-04-10 17:12:51 +02:00
vgat2r4.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgatvp3020.c
vgatvp3026.c
vgavesa.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgavmware.c kernel: massive pci code rewrite 2020-09-13 20:33:17 +02:00
vgax.c
wavelan.c pc/wavelan: print Ether.port as 64-bit value 2020-06-06 16:18:06 +02:00
wavelan.h
yukdump.h