History log of /freebsd/sys/kern/kern_switch.c (Results 226 – 250 of 330)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 85da7a56 26-Dec-2004 Jeff Roberson <jeff@FreeBSD.org>

- Define KTR points for KTR_SCHED.


# 7842f65e 14-Dec-2004 Jeff Roberson <jeff@FreeBSD.org>

- Garbage collect several unused members of struct kse and struce ksegrp.
As best as I can tell, some of these were never used.


# 6db36923 21-Nov-2004 David Schultz <das@FreeBSD.org>

Remove local definitions of RANGEOF() and use __rangeof() instead.
Also remove a few bogus casts.


# f42a43fa 08-Nov-2004 Robert Watson <rwatson@FreeBSD.org>

Add basic critical section tracing to KTR using event type KTR_CRITICAL.
This generates a KTR event for each critical section entered and exited.

It would be desirable to also log the filename and l

Add basic critical section tracing to KTR using event type KTR_CRITICAL.
This generates a KTR event for each critical section entered and exited.

It would be desirable to also log the filename and line number of the
source entering or exiting the critical section, but this requires
hacking up the critical section API, so I've not done that yet.

show more ...


Revision tags: release/5.3.0_cvs, release/5.3.0
# b96741f4 16-Oct-2004 Scott Long <scottl@FreeBSD.org>

If a process needs to be swapped in, wakeup the swapper from within
critical_exit as the process is getting scheduled to run. This is subotimal
but for now avoid the LOR between the scheduler and th

If a process needs to be swapped in, wakeup the swapper from within
critical_exit as the process is getting scheduled to run. This is subotimal
but for now avoid the LOR between the scheduler and the sleepq systems.
This is a 5.3 candidate.

Submitted by: davidxu
MFC After: 3 days

show more ...


# 7c71b645 14-Oct-2004 Stephan Uphoff <ups@FreeBSD.org>

Fix maybe_preempt_in_ksegrp for !SMP.

Tested by: tegge
Reviewed by: julian
Approved by: sam (mentor)
MFC after: 3 days


# 13e7430f 12-Oct-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Make !SMP kernels compile, and as far as I can tell, work again.


# 84f9d4b1 12-Oct-2004 Stephan Uphoff <ups@FreeBSD.org>

Prevent preemption in slot_fill.
Implement preemption between threads in the same ksegp in out of slot
situations to prevent priority inversion.

Tested by: pho
Reviewed by: jhb, julian
Approved by

Prevent preemption in slot_fill.
Implement preemption between threads in the same ksegp in out of slot
situations to prevent priority inversion.

Tested by: pho
Reviewed by: jhb, julian
Approved by: sam (mentor)
MFC: ASAP

show more ...


# 042b7b1a 10-Oct-2004 Julian Elischer <julian@FreeBSD.org>

Don't release the slot twice.. sched_rem() has already done it.

Submitted by: stephan uphoff (ups at tree dot com)
MFC after: 3 days


# c20c691b 06-Oct-2004 Julian Elischer <julian@FreeBSD.org>

When preempting a thread, put it back on the HEAD of its run queue.
(Only really implemented in 4bsd)

MFC after: 4 days


# d39063f2 05-Oct-2004 Julian Elischer <julian@FreeBSD.org>

Use some macros to trach available scheduler slots to allow
easier debugging.

MFC after: 4 days


# 8daa8c60 19-Sep-2004 David Schultz <das@FreeBSD.org>

The zone from which proc structures are allocated is marked
UMA_ZONE_NOFREE to guarantee type stability, so proc_fini() should
never be called. Move an assertion from proc_fini() to proc_dtor()
and

The zone from which proc structures are allocated is marked
UMA_ZONE_NOFREE to guarantee type stability, so proc_fini() should
never be called. Move an assertion from proc_fini() to proc_dtor()
and garbage-collect the rest of the unreachable code. I have retained
vm_proc_dispose(), since I consider its disuse a bug.

show more ...


# 14f0e2e9 16-Sep-2004 Julian Elischer <julian@FreeBSD.org>

clean up thread runq accounting a bit.

MFC after: 3 days


# 9da3e923 16-Sep-2004 Julian Elischer <julian@FreeBSD.org>

e specific code to revert a partial add ot teh run queue, not
remrunqueue() which can't handle a partially added thread.

MFC after: 1 week


# e8807f22 15-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Oops accidentally removed #ifdef SCHED_4BSD
as part of another commit
This function is not yet used in ULE


# 1f9f5df6 14-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Commit a fix for some panics we've been seeing with preemption.

MFC after: 2 days


# b2578c6c 14-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Add some kasserts


# 3389af30 10-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Add some code to allow threads to nominat a sibling to run if theyu are going to sleep.

MFC after: 1 week


# 54983505 07-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Make debug printf less threatenning and make it only print out once.

MFC after: 2 days


# 6a574b2a 06-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Don't do IPIs on behalf of interrupt threads.
just punt straight on through to teh preemption code.

Make a KASSSERT out of a condition that can no longer occur.
MFC after: 1 week


# ed062c8d 05-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Refactor a bunch of scheduler code to give basically the same behaviour
but with slightly cleaned up interfaces.

The KSE structure has become the same as the "per thread scheduler
private data" stru

Refactor a bunch of scheduler code to give basically the same behaviour
but with slightly cleaned up interfaces.

The KSE structure has become the same as the "per thread scheduler
private data" structure. In order to not make the diffs too great
one is #defined as the other at this time.

The KSE (or td_sched) structure is now allocated per thread and has no
allocation code of its own.

Concurrency for a KSEGRP is now kept track of via a simple pair of counters
rather than using KSE structures as tokens.

Since the KSE structure is different in each scheduler, kern_switch.c
is now included at the end of each scheduler. Nothing outside the
scheduler knows the contents of the KSE (aka td_sched) structure.

The fields in the ksegrp structure that are to do with the scheduler's
queueing mechanisms are now moved to the kg_sched structure.
(per ksegrp scheduler private data structure). In other words how the
scheduler queues and keeps track of threads is no-one's business except
the scheduler's. This should allow people to write experimental
schedulers with completely different internal structuring.

A scheduler call sched_set_concurrency(kg, N) has been added that
notifies teh scheduler that no more than N threads from that ksegrp
should be allowed to be on concurrently scheduled. This is also
used to enforce 'fainess' at this time so that a ksegrp with
10000 threads can not swamp a the run queue and force out a process
with 1 thread, since the current code will not set the concurrency above
NCPU, and both schedulers will not allow more than that many
onto the system run queue at a time. Each scheduler should eventualy develop
their own methods to do this now that they are effectively separated.

Rejig libthr's kernel interface to follow the same code paths as
linkse for scope system threads. This has slightly hurt libthr's performance
but I will work to recover as much of it as I can.

Thread exit code has been cleaned up greatly.
exit and exec code now transitions a process back to
'standard non-threaded mode' before taking the next step.
Reviewed by: scottl, peter
MFC after: 1 week

show more ...


# 44692526 03-Sep-2004 Julian Elischer <julian@FreeBSD.org>

remove unused code

MFC after: 2 days


# 9923b511 02-Sep-2004 Scott Long <scottl@FreeBSD.org>

Turn PREEMPTION into a kernel option. Make sure that it's defined if
FULL_PREEMPTION is defined. Add a runtime warning to ULE if PREEMPTION is
enabled (code inspired by the PREEMPTION warning in ke

Turn PREEMPTION into a kernel option. Make sure that it's defined if
FULL_PREEMPTION is defined. Add a runtime warning to ULE if PREEMPTION is
enabled (code inspired by the PREEMPTION warning in kern_switch.c). This
is a possible MT5 candidate.

show more ...


# 6804a3ab 01-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Give the 4bsd scheduler the ability to wake up idle processors
when there is new work to be done.

MFC after: 5 days


# 2630e4c9 01-Sep-2004 Julian Elischer <julian@FreeBSD.org>

Give setrunqueue() and sched_add() more of a clue as to
where they are coming from and what is expected from them.

MFC after: 2 days


12345678910>>...14