<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/alpha/include/param.h, branch release/6.4.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F6.4.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F6.4.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2008-11-26T01:09:48Z</updated>
<entry>
<title>Copy releng/6.4 to release/6.4.0 in preparation for 6.4-RELEASE.</title>
<updated>2008-11-26T01:09:48Z</updated>
<author>
<name>Ken Smith</name>
<email>kensmith@FreeBSD.org</email>
</author>
<published>2008-11-26T01:09:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a93332491e10c1a23a9fd2f11ccbdba33d72d850'/>
<id>urn:sha1:a93332491e10c1a23a9fd2f11ccbdba33d72d850</id>
<content type='text'>
Approved by:	re (implicit)

This commit was manufactured to restore the state of the 6.4-RELEASE image.
</content>
</entry>
<entry>
<title>Begin all license/copyright comments with /*- or #-</title>
<updated>2005-01-05T20:05:52Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2005-01-05T20:05:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f44fc746fb98516d63b1c2010f72013c8b3abb55'/>
<id>urn:sha1:f44fc746fb98516d63b1c2010f72013c8b3abb55</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove UAREA_PAGES.</title>
<updated>2004-11-20T02:29:50Z</updated>
<author>
<name>David Schultz</name>
<email>das@FreeBSD.org</email>
</author>
<published>2004-11-20T02:29:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ab44ebf5377f5c9f707cffe653f7368c7ada2d7a'/>
<id>urn:sha1:ab44ebf5377f5c9f707cffe653f7368c7ada2d7a</id>
<content type='text'>
Reviewed by:	arch@
</content>
</entry>
<entry>
<title>Turn PREEMPTION into a kernel option.  Make sure that it's defined if</title>
<updated>2004-09-02T18:59:15Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2004-09-02T18:59:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9923b511ed09f7e9aff331c1de463c09bf9af55e'/>
<id>urn:sha1:9923b511ed09f7e9aff331c1de463c09bf9af55e</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Turn off PREEMPTION by default while it gets debugged.  It's been causing</title>
<updated>2004-08-01T14:31:45Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2004-08-01T14:31:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9352fe30a03aad0c103c302ed6310291f9375ca6'/>
<id>urn:sha1:9352fe30a03aad0c103c302ed6310291f9375ca6</id>
<content type='text'>
4 weeks of problems including deadlocks and instant panics.  Note that the
real bugs are likely in the scheduler.
</content>
</entry>
<entry>
<title>Implement preemption of kernel threads natively in the scheduler rather</title>
<updated>2004-07-02T20:21:44Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2004-07-02T20:21:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0c0b25ae91328c6b388ef5faa77ec9089f2950a7'/>
<id>urn:sha1:0c0b25ae91328c6b388ef5faa77ec9089f2950a7</id>
<content type='text'>
than as one-off hacks in various other parts of the kernel:
- Add a function maybe_preempt() that is called from sched_add() to
  determine if a thread about to be added to a run queue should be
  preempted to directly.  If it is not safe to preempt or if the new
  thread does not have a high enough priority, then the function returns
  false and sched_add() adds the thread to the run queue.  If the thread
  should be preempted to but the current thread is in a nested critical
  section, then the flag TDF_OWEPREEMPT is set and the thread is added
  to the run queue.  Otherwise, mi_switch() is called immediately and the
  thread is never added to the run queue since it is switch to directly.
  When exiting an outermost critical section, if TDF_OWEPREEMPT is set,
  then clear it and call mi_switch() to perform the deferred preemption.
- Remove explicit preemption from ithread_schedule() as calling
  setrunqueue() now does all the correct work.  This also removes the
  do_switch argument from ithread_schedule().
- Do not use the manual preemption code in mtx_unlock if the architecture
  supports native preemption.
- Don't call mi_switch() in a loop during shutdown to give ithreads a
  chance to run if the architecture supports native preemption since
  the ithreads will just preempt DELAY().
- Don't call mi_switch() from the page zeroing idle thread for
  architectures that support native preemption as it is unnecessary.
- Native preemption is enabled on the same archs that supported ithread
  preemption, namely alpha, i386, and amd64.

This change should largely be a NOP for the default case as committed
except that we will do fewer context switches in a few cases and will
avoid the run queues completely when preempting.

Approved by:	scottl (with his re@ hat)
</content>
</entry>
<entry>
<title>Remove the advertsing clause, per the Regent's letter dated July 22, 1999.</title>
<updated>2004-04-05T21:00:51Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2004-04-05T21:00:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3501fd399eafa15c6b6a2fd6e565c17efb4086d2'/>
<id>urn:sha1:3501fd399eafa15c6b6a2fd6e565c17efb4086d2</id>
<content type='text'>
Approved by: core
</content>
</entry>
<entry>
<title>Deal with 'options KSTACK_PAGES' being a global option.</title>
<updated>2003-07-31T01:31:32Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>2003-07-31T01:31:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ad7a226f9dffc7d299010f30e139c19fc283b28c'/>
<id>urn:sha1:ad7a226f9dffc7d299010f30e139c19fc283b28c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Migrate the thread stack management functions from the machine-dependent</title>
<updated>2003-06-14T23:23:55Z</updated>
<author>
<name>Alan Cox</name>
<email>alc@FreeBSD.org</email>
</author>
<published>2003-06-14T23:23:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=49a2507bd1c2d72eef3d9c9d12c9d0aeef9f3f7b'/>
<id>urn:sha1:49a2507bd1c2d72eef3d9c9d12c9d0aeef9f3f7b</id>
<content type='text'>
to the machine-independent parts of the VM.  At the same time, this
introduces vm object locking for the non-i386 platforms.

Two details:

1. KSTACK_GUARD has been removed in favor of KSTACK_GUARD_PAGES.  The
different machine-dependent implementations used various combinations
of KSTACK_GUARD and KSTACK_GUARD_PAGES.  To disable guard page, set
KSTACK_GUARD_PAGES to 0.

2. Remove the (unnecessary) clearing of PG_ZERO in vm_thread_new.  In
5.x, (but not 4.x,) PG_ZERO can only be set if VM_ALLOC_ZERO is passed
to vm_page_alloc() or vm_page_grab().
</content>
</entry>
<entry>
<title>Fix the osf1 abi module  on SMP systems by making the size of</title>
<updated>2003-03-29T18:22:29Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2003-03-29T18:22:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=62f456b3159e00bb92fe7f341f151d6177e87f1f'/>
<id>urn:sha1:62f456b3159e00bb92fe7f341f151d6177e87f1f</id>
<content type='text'>
a struct pmap be the same on both SMP and UP kernels.

It turns out that the size of a struct pmap is much larger on alpha
SMP systems due to the number of pm_asn's being dependant on MAX_CPU.
Since modules are supposed to be SMP agnostic, this has the affect of
moving around the "interesting bits" of the vmspace (daddr, dsize)
that the osf1 module wants to frob.  So the module ends up scribbling in a
pmap struct, and the user either sees a panic, or an application failure.

While here, I've also shrunk MAXCPU to 8 now that it affects the size
of pmap structs on UP systesm.  This should be plenty, as I'm
unware of any hardware we currently run in which supports more than 8
CPUs.
</content>
</entry>
</feed>
