Non-MPSAFE network stack component de-orbit burn schedule

This page documents proposed schedules for removing infrastructure for non-MPSAFE network stack components.

NET_NEEDS_GIANT removal

This historical option, linked to the debug.mpsafenet sysctl, caused Giant to be acquired before entering the network stack via any path (system call, interrupt, netisr, etc). It was eliminated prior to 7.0-RELEASE.

Date

Done

Event

18 July 2005

yes

Post MPSAFE network stack plan to arch@.

17 July 2007

yes

Post NET_NEEDS_GIANT() reminder to arch@.

27 July 2007

yes

Remove NET_NEEDS_GIANT().

25 May 2008

yes

Remove netatm.

26 May 2008

yes

Remove i4b.

i4b details

i4b, the kernel ISDN framework, has not been updated to run in a post-MPSAFE world. It was left present in the 7.x tree, but disabled prior to 7.0-RELEASE. It has been deleted from the 8.x development tree.

Date

Done

Event

18 July 2005

yes

Post MPSAFE network stack plan to arch@.

04 July 2007

yes

Disconnect parts of I4B from the build. HEADS-UP to isdn@.

17 July 2007

yes

Post NET_NEEDS_GIANT() reminder to arch@.

27 July 2007

yes

Remove NET_NEEDS_GIANT().

22 March 2008

yes

Last call to seek for help rewriting I4B to keep it alive.

15 May 2008

yes

Final announcement on isdn@ that I4B will be removed from 8/7.

26 May 2008

yes

Remove i4b from HEAD.

?? ??? 2008

no

Remove I4B from RELENG_7.

netatm

netatm, one of three kernel ATM stacks in FreeBSD, has not been updated to run in a post-MPSAFE world. It was left present in the 7.x tree for 7.0-RELEASE, but was deleted prior to 7.1-RELEASE.

Date

Done

Event

18 July 2005

yes

Post MPSAFE network stack plan to arch@.

15 March 2006

yes

Post netatm removal plan.

29 March 2006

yes

Post netatm removal reminder to arch@.

10 March 2007

yes

Post netatm removal reminder to arch@.

27 July 2007

yes

Remove NET_NEEDS_GIANT().

10 March 2008

yes

E-mail warning to arch@/net@

10 April 2008

yes

E-mail warning to arch@/net@

10 May 2008

yes

Removal of netatm from HEAD

31 August 2008

yes

Removal of netatm from RELENG_7

IFF_NEEDSGIANT removal

IFF_NEEDSGIANT allowed non-MPSAFE network device drivers to continue to run without Giant over the network stack, a list of which can be found on NetworkNeedsGiant. As of 7.0-RELEASE, no widely used network device drivers other than those using the USB stack used IFF_NEEDSGIANT. The framework was be removed from 8.x prior to 8.0-RELEASE, along with drivers that still depended on it, as there is a new fully MPSAFE USB stack in the 8.x branch.

Date

Done

Event

18 July 2005

yes

Post MPSAFE network stack plan to arch@, affected driver list.

22 May 2006

yes

Post MPSAFE reminder e-mail to arch@.

24 December 2007

yes

Post proposed schedule for flag and infrastructure removal, affected driver list.

26 January 2008

yes

Repost proposed schedule for flag and infrastructure removal, updated affected driver list.

3 February 2007

yes

Repost proposed schedule for flag and infrastructure removal, updated affected driver list.

26 February 2008

yes

Adjust boot-time printf for affected drivers to generate a loud warning, post updated affected drivers list.

7 March 2008

yes

Post reminder e-mail to arch@.

21 May 2008

yes

Post reminder e-mail to arch@.

26 May 2008

yes

Post HEADS UP of impending driver disabling, updated affected driver list.

26 June 2008

no

Disable build of all drivers requiring IFF_NEEDSGIANT, post updated affected driver list.

26 September 2008

no

Post HEADS UP of impending driver removal, updated affected driver list.

26 October 2008

no

Delete source of all drivers requiring IFF_NEEDSGIANT; remove flag and infrastructure.

16 February 2009

yes

Post MPSAFE schedule e-mail to arch@, affected driver list.

15 March 2009

yes

Disable build of all drivers requiring IFF_NEEDSGANT, post updated affected drivers list.

16-18 April 2009

yes

Delete sources of all drivers requiring IFF_NEEDSGIANT; remove flag and infrastructure.

NETISR_MPSAFE

NETISR_MPSAFE allows network protocols to register input handlers that automatically acquire the Giant lock. This has been removed in 8.x and will not appear in 8.0-RELEASE.

Date

Done

Event

18 July 2005

yes

Post MPSAFE network stack plan to arch@.

26 May 2008

yes

Post NETISR_MPSAFE removal plan.

4 July 2008

yes

Remove NETISR_MPSAFE, add explicit Giant locking to remaining handlers.

NONMPSAFE_DEORBIT (last edited 2009-04-18 20:41:31 by RobertWatson)