diff options
author | Scott Long <scottl@FreeBSD.org> | 2002-10-02 07:44:29 +0000 |
---|---|---|
committer | Scott Long <scottl@FreeBSD.org> | 2002-10-02 07:44:29 +0000 |
commit | 316ec49abd15743784b47592c00d6297dabce21b (patch) | |
tree | 0a9cc28f7570a42ae4e5df4cfc55dee42c36d9d8 /sys/vm/pmap.h | |
parent | a70e34ac714c1609edfcc248799d078d66ee5f79 (diff) | |
download | src-316ec49abd15743784b47592c00d6297dabce21b.tar.gz src-316ec49abd15743784b47592c00d6297dabce21b.zip |
Some kernel threads try to do significant work, and the default KSTACK_PAGES
doesn't give them enough stack to do much before blowing away the pcb.
This adds MI and MD code to allow the allocation of an alternate kstack
who's size can be speficied when calling kthread_create. Passing the
value 0 prevents the alternate kstack from being created. Note that the
ia64 MD code is missing for now, and PowerPC was only partially written
due to the pmap.c being incomplete there.
Though this patch does not modify anything to make use of the alternate
kstack, acpi and usb are good candidates.
Reviewed by: jake, peter, jhb
Notes
Notes:
svn path=/head/; revision=104354
Diffstat (limited to 'sys/vm/pmap.h')
-rw-r--r-- | sys/vm/pmap.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index 2ea797ee5069..69e7122b8089 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -128,8 +128,10 @@ void pmap_zero_page_area(vm_page_t, int off, int size); void pmap_zero_page_idle(vm_page_t); void pmap_prefault(pmap_t, vm_offset_t, vm_map_entry_t); int pmap_mincore(pmap_t pmap, vm_offset_t addr); -void pmap_new_thread(struct thread *td); +void pmap_new_thread(struct thread *td, int pages); void pmap_dispose_thread(struct thread *td); +void pmap_new_altkstack(struct thread *td, int pages); +void pmap_dispose_altkstack(struct thread *td); void pmap_swapout_thread(struct thread *td); void pmap_swapin_thread(struct thread *td); void pmap_activate(struct thread *td); |