Thread scheduling enhancements

RESOLVED WONTFIX

Status

P3
enhancement
RESOLVED WONTFIX
20 years ago
16 years ago

People

(Reporter: gordon, Assigned: saari)

Tracking

({helpwanted, platform-parity})

other
Future
PowerPC
Mac System 8.5
helpwanted, platform-parity

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: many days)

(Reporter)

Description

20 years ago
From Chris Saari:

The idle_thead acting as a queue scheduler for I/O blocked threads and having a
low priority are inverse goals. When I/O completes, you want the thread
blocked on the I/O to run as quickly as possible. In UNIX systems, this usually
means having threads waiting on I/O have a high priority, usually kernel
level, but not be runnable until the I/O completes. Just before the blocked
thread runs again, the priority is set back to it's normal user level priority.

How does this relate to NSPR threading on the Mac:
I'd like to have the I/O completion routine AsyncIOCompletion bump up the
idle_thread priority if it fails to schedule the blocked thread itself because of
a lock on the queues. The idle_thread itself can reset it's priority back to
normal when it is run.

Thread priority is an issue that we may wish to address further. The current 5
level priority and round robin scheduling

Updated

20 years ago
Assignee: wtc → gordon

Comment 1

20 years ago
Reassigned the bug to gordon.
(Reporter)

Updated

20 years ago
Status: NEW → ASSIGNED

Updated

20 years ago
Target Milestone: M6

Comment 2

20 years ago
Changed target milestone to M6.

Updated

20 years ago
Summary: Thread scheduling enhancements → [PP]Thread scheduling enhancements

Comment 3

20 years ago
NSPR now has its own Bugzilla product.  Moving this bug to the NSPR product.
(Reporter)

Updated

20 years ago
Target Milestone: M6 → M9

Updated

20 years ago
Assignee: gordon → sdagley
Status: ASSIGNED → NEW

Updated

20 years ago
Status: NEW → ASSIGNED

Updated

20 years ago
Severity: normal → enhancement

Updated

19 years ago
Target Milestone: M9 → M11

Updated

19 years ago
Target Milestone: M11 → M14

Updated

19 years ago
Whiteboard: ?? days

Comment 4

19 years ago
Sounds like this should be a sched bug.  need estimated remaining duration in
status whiteboard field

Updated

19 years ago
Whiteboard: ?? days → many days

Comment 5

19 years ago
per discussion with saari this work is well beyond the scope of what we can do in
the PorkJet timeframe.  We also need to look at Apple's MP API which is what they
indicate is now the preferred thread API.  There's also the potential
availability of pthreads when running under Carbon on Mac OS X to be considered
so it's conceivable the current NSPR Mac threading model could be replaced by 2
different implementations depending on the target OS.

Comment 6

19 years ago
phillip gone, removing him from qa contact, sorry for spam

Updated

19 years ago
Target Milestone: M14 → M17

Comment 7

19 years ago
For Mac OS X it would appear certain that we will use native pthreads.  It is not
clear that we will ever actually re-write our thread code for the current/older
Mac OS.  Punting to M17.

Updated

19 years ago
Keywords: pp

Updated

19 years ago
Summary: [PP]Thread scheduling enhancements → Thread scheduling enhancements

Comment 8

19 years ago
reassigning to saari. May not have time for this, so putting on helpwanted 
radar.  Use of JAR files may lessen the need for this, so it is a candidate for 
latering. cc warren
Assignee: sdagley → saari
Status: ASSIGNED → NEW
Keywords: helpwanted
(Assignee)

Comment 9

19 years ago
After talking with sfraser, it looks like JARs will be the big win here. This 
change would have a similar effect, but with the advent of JARs, this change's 
impact on startup time would be reduced.

Now, we need to know that JARs will be performant on MacOS...
Status: NEW → ASSIGNED
Target Milestone: M17 → M20

Comment 10

19 years ago
Mass move of all M20 bugs to M30.

Comment 11

19 years ago
can't move past M20, so resolving as remind.
Status: ASSIGNED → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → REMIND

Updated

19 years ago
Target Milestone: M20 → ---
REMIND is deprecated per bug 35839.  Futuring.
Status: RESOLVED → REOPENED
Resolution: REMIND → ---
Target Milestone: --- → Future

Comment 13

16 years ago
Is this bug still valid in the FizzillaMach era? It doesn't sound as though it
is, per comment 7.

Comment 14

16 years ago
This bug is about the old CFM version of NSPR.  Marked the
bug WONTFIX.
Status: REOPENED → RESOLVED
Last Resolved: 19 years ago16 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.