PERFORCE change 103665 for review
John Baldwin
jhb at FreeBSD.org
Fri Aug 11 21:12:15 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=103665
Change 103665 by jhb at jhb_mutex on 2006/08/11 21:11:46
Update.
Affected files ...
.. //depot/projects/smpng/sys/notes#93 edit
.. //depot/user/jhb/acpipci/notes#183 edit
Differences ...
==== //depot/projects/smpng/sys/notes#93 (text+ko) ====
@@ -74,9 +74,7 @@
version of the current WITNESS check that doesn't bog the system down quite
as bad.
- syscall fixes
- - make nfssvc less hackish
- + done
- - untested
+ + make nfssvc less hackish
- fix audit events for syscalls in modules
+ done
- untested
==== //depot/user/jhb/acpipci/notes#183 (text+ko) ====
@@ -1,49 +1,11 @@
Todo:
-- Ethernet locking notes:
- - Use callout_*() rather than timeout() so you can use CALLOUT_MPSAFE. May
- have to change the timeout routine (foo_tick) to return immediately if
- IFF_RUNNING is clear. Actually, if you use callout_init_mtx() then
- you don't have to add the IFF_RUNNING check. You do still need to add a
- call to callout_drain() however to make sure that the driver lock is
- not contested on in softclock() when you destroy it.
- - Do not hold lock across ether_ioctl(), ifmedia_ioctl(), or ifp->if_input().
- - Ok to hold lock across BPF_MTAP(), ifmedia_add(), ifmedia_set(), and
- m_freem().
- - Need to lock in ifp functions: start, init, watchdog; ifmedia functions:
- status, change; miibus functions: readreg, writereg. Also need lock in
- event handlers: foo_intr, foo_tick, and foo_poll. Most other functions
- should just assert lock.
- - Not 100% sure about the miibus_read/writereg stuff, need to figure out
- when that is called and then determine the proper locking interactions
- with miibus.
- - Try just asserting locks in miibus methods and requiring the upper
- levels to get it right instead.
- - Added locking around mii_phy_probe(), this needs to be reverted and
- the assertions need to be conditional so that they don't fire before
- ether_ifattach() somehow.
- - Rule is to assert locks in miibus routines once ether_ifattach() has
- been called (if_input != NULL).
- - if_capenable?
- - if_timer?
- - if_hwassist?
- - if_mtu?
-- Fixup locking in various network device drivers:
- - nve
- - lge
- - PR 78072
-- Lock de(4)
- - Try to handle the busted multiport card by using a custom pci-pci
- bridge driver instead of the current hack inside of if_de.
- - Need to handle slave list and root_unit stuff still.
- - need to figure out locking for slave list for multiport cards
- - locking for tulips[] array?
+- lge PR 78072
- Stick NUM_ISA_IRQS in isavar.h? bde says icu.h (rename to atpic.h?)
- fixup mptable.c
- fixup pci_pir.c
- fixup acpi_pci_link.c?
- fixup atpic.c
- fixup elcr.c
-- Export PA's of APICs for vmware
- Possibly add a pcibios_call() to i386/i386/bios.c that looks like:
int pcibios_call(int function, struct bios_regs *args)
and sets eax to function, and returns a success/failure
@@ -51,8 +13,6 @@
- Possibly trim icu.h further.
+ Move stuff only used in atpic.c to atpic.c
- ICU_IMR, should these move to dev/ic/i8259.h?
-- Start a sys/x86 tree for shared code between i386 and amd64
- - atpic driver, maybe apic driver and intr_machdep.c code
- Have suspend/resume operate on pics, not individual sources
- Kill isa_irq_pending() (maybe, is this an MI function?)
- Some machines support ACPI but have an MP Table w/o an MADT. If we use
More information about the p4-projects
mailing list