smptodo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
smptodo [2010/01/14 16:59] – ext2fs is mpsafe as of today RomanDivackysmptodo [2018/07/21 04:03] (current) – MarkLinimon
Line 1: Line 1:
 ====== SMP General TODO List ====== ====== SMP General TODO List ======
 +
 +:!: This page was last edited in late 2012.  Surely it needs an update.
 +
 This page lists some general locking/basic SMP todo items that have thus far slipped through the cracks; some are more relevant to the real world than others.  For these purposes, we consider a component to be not MPSAFE if it either entirely relies on the Giant lock to operate correctly, or if its required dependencies rely on the Giant lock to operate correctly.  Depending on the subsystem, the impact may be significant or limited with respect to other components simultaneously operating in the kernel.  Some have owners, some don't. This page lists some general locking/basic SMP todo items that have thus far slipped through the cracks; some are more relevant to the real world than others.  For these purposes, we consider a component to be not MPSAFE if it either entirely relies on the Giant lock to operate correctly, or if its required dependencies rely on the Giant lock to operate correctly.  Depending on the subsystem, the impact may be significant or limited with respect to other components simultaneously operating in the kernel.  Some have owners, some don't.
  
Line 6: Line 9:
 | syscons is not MPSAFE |  | ed | | syscons is not MPSAFE |  | ed |
 | Some CAM SCSI drivers are not mpsafe (XXX need list) |  |  | | Some CAM SCSI drivers are not mpsafe (XXX need list) |  |  |
-| KAME IPv6 ND6 and MLD6 are not MPSAFE. More details on [[IPv6TODO|IPv6TODO]]. |  |  |+| KAME IPv6 ND6 and MLD6 are not MPSAFE. More details on [[IPv6/ToDo]]. |  |  |
 | Network address lists are insufficiently locked |  | rwatson | | Network address lists are insufficiently locked |  | rwatson |
 | Many pseudo-devices are not yet marked as MPSAFE, even though many are in fact MPSAFE. (i.e. mem) |  | (maybe) ed | | Many pseudo-devices are not yet marked as MPSAFE, even though many are in fact MPSAFE. (i.e. mem) |  | (maybe) ed |
 | Giant is still acquired at some points in VM | swap handling, MPSAFE VFS | alc | | Giant is still acquired at some points in VM | swap handling, MPSAFE VFS | alc |
 | Giant is still acquired in System V SHM |  | wkoszek | | Giant is still acquired in System V SHM |  | wkoszek |
-| Some filesystems are not mpsafe.  The most important of these is probably msdosfs. Others (that do not set MNTK_MPSAFE as mount flag): hpfs, ntfs, nwfs, smbfs, coda, portalfs. |  |  |+| Some filesystems are not mpsafe. These are (that do not set MNTK_MPSAFE as mount flag): hpfs, ntfs, nwfs, smbfs, coda, portalfs. |  |  |
 | Mounting and unmounting of filesystems acquires Giant |  |  | | Mounting and unmounting of filesystems acquires Giant |  |  |
-| The non-MPSAFE timeout() API is used in the following kernel systems: acpi, scsi_low, ipfilter, advansys, aha, aic, amr, atkbdc, buslogic, dpt, sbp, hptmv, hptrr, iir, ips, isp, mcd, mlx, mly, mn, scd, syscons, twa, sysbeep, if_slowtimo, netatalk, ng_btsocket, ng_fec, netipsec, netncp, ncr |  |  |+| The non-MPSAFE timeout() API is used in the following kernel systems: acpi, scsi_low, ipfilter, advansys, amr, atkbdc, sbp, hptmv, hptrr, iir, ips, isp, mcd, mly, mn, scd, syscons, twa, sysbeep, if_slowtimo, netatalk, ng_btsocket, ng_fec, netipsec, netncp, ncr |  |  |
 | netatalk uses the non-MPSAFE timeout() API |  | rwatson | | netatalk uses the non-MPSAFE timeout() API |  | rwatson |
 | The netncp and netsmb code unconditionally acquire Giant |  |  | | The netncp and netsmb code unconditionally acquire Giant |  |  |
Line 19: Line 22:
 | The following drivers use non-mpsafe callouts: dev/mpt/mpt_raid.c dev/esp/ncr53c9x.c dev/kbdmux/kbdmux.c dev/lmc/if_lmc.c dev/rc/rc.c dev/uart/uart_kbd_sun.c |  |  | | The following drivers use non-mpsafe callouts: dev/mpt/mpt_raid.c dev/esp/ncr53c9x.c dev/kbdmux/kbdmux.c dev/lmc/if_lmc.c dev/rc/rc.c dev/uart/uart_kbd_sun.c |  |  |
 | Module event handlers run under Giant |  |  | | Module event handlers run under Giant |  |  |
-| linux_getcwd_common() (should use LK_SHARED and MPSAFEVFS) |  |  | 
 | Linux compat ioctl() handlers |  |  | | Linux compat ioctl() handlers |  |  |
-| SVR4 compat streams |  |  | 
 | start_init() |  |  | | start_init() |  |  |
 | SYSINIT() routines |  |  | | SYSINIT() routines |  |  |
Line 31: Line 32:
 ---- ----
  
-[[CategoryTODO|CategoryTODO]]+{{tag>InactiveProject Stale Todo}}
  
  • smptodo.1263488369.txt.gz
  • Last modified: 2010/01/14 16:59
  • by RomanDivacky