From 8a4063e29b8a2aca95b5526ecb0eb0a63f79e9b6 Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Sun, 22 Aug 2004 21:56:28 +0000 Subject: [PATCH] Break out PREEMPTION and SMP stability parts of the general stability task into two separate items now that the resolutions are becoming more clear. Note the current condition of pth. Move the in6_pcbnotify() item from "show stopper" to "testing" since the fix is merged. Add a TODO item for the routing socket netisr concerns. Note that some changes have been committed, but will need to be merged after testing. --- en/releases/5.3R/todo.sgml | 59 ++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/en/releases/5.3R/todo.sgml b/en/releases/5.3R/todo.sgml index 85e7328cf1..152cb50033 100644 --- a/en/releases/5.3R/todo.sgml +++ b/en/releases/5.3R/todo.sgml @@ -1,7 +1,7 @@ - + %includes; %developers; @@ -30,16 +30,23 @@ - General instability and lockups under high load - &status.new; + PREEMPTION-related hangs involving threads + &status.wip; &a.scottl;, &a.julian; - Problems persist with crashes and hangs under heavy load, especially - under SMP. The recent introduction of full-scale preemption exacerbated - the problem, though preemption has been turned off temporarily while - this problem is debugged. Speculation on the source of the problem - seems to center around problems in the scheduler and appear to be common - to both the 4BSD and ULE schedulers. This needs to be driven to root - cause and fixed in order for 5.3 to be considered STABLE. + PREEMPTION appears to increase the chances of triggering a race + condition in the thread context management and scheduling code. + Patches to mitigate the problem have been developed, with on-going + work to come up with the correct solution prior to 5.3. + + + + SMP instability under load + &status.wip; + &a.dwhite;, &a.alc; + High load on SMP systems appears to result in a hard hang related + to VM IPI. &a.dwhite; has prepared a candidate patch that appears to + resolve this instability, which is currently in testing for merge to + the CVS HEAD. @@ -59,15 +66,6 @@ correctly as of the improved NFS support for disconnection changes. - - in6_pcbnotify() panic with TCP - &status.wip; - &a.rwatson; - &a.kuriyama; has reportged a failed locking assertion with IPv6 - TCP notifications. A patch has been committed to the CVS HEAD, and, - will be merged to RELENG_5 after testing. - - poll()/select() application wedge reports with debug.mpsafenet=1 &status.wip; @@ -200,6 +198,20 @@ interactivity for taps and button press events for some users. + + Increased and configurable netisr queue max depth for routing + sockets + &status.wip; + &a.rwatson; + As part of the MPSAFE network stack work, delivery of routing socket + messages was moved to queued dispatch via netisr rather than direct + dispatch from the routing code. However, the risks of lost routing + messages for routing daemons are high; respond by increasing the max + depth beyond a default interface max depth of 50 to 128, and allow it + to be user-configured. This change is in CVS HEAD, and needs to be + merged to RELENG_5 after testing. + +

Desired features for 5.3-RELEASE

@@ -520,6 +532,15 @@ testing is needed. + + in6_pcbnotify() panic with TCP + &status.wip; + &a.rwatson; + &a.kuriyama; has reportged a failed locking assertion with IPv6 + TCP notifications. A patch has been committed to the CVS HEAD, and, + will be merged to RELENG_5 after testing. + + &footer;