| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
32-bit 64-bit
main thread 2MB 4MB
other threads 1MB 2MB
|
|
|
|
|
| |
allocated space, orignal code left red zone unallocated, but those space
can be allocated by user code, and result was providing no protection.
|
|
|
|
|
|
|
|
|
| |
should be a value past to pthread_attr_setguardsize, not a rounded up value.
Also fix a stack size matching bug in thr_stack.c, now stack matching code
uses number of pages but not bytes length to match stack size, so for example,
size 512 bytes and size 513 bytes should both match 1 page stack size.
Reviewed by: deischen
|
|
|
|
| |
Reviewed by: deischen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
environment. This includes support for multiple KSEs and KSEGs.
The ability to create more than 1 KSE via pthread_setconcurrency()
is in the works as well as support for PTHREAD_SCOPE_SYSTEM threads.
Those should come shortly.
There are still some known issues which davidxu and I are working
on, but it'll make it easier for us by committing what we have.
This library now passes all of the ACE tests that libc_r passes
with the exception of one. It also seems to work OK with KDE
including konqueror, kwrite, etc. I haven't been able to get
mozilla to run due to lack of java plugin, so I'd be interested
to see how it works with that.
Reviewed by: davidxu
|
|
|
|
|
|
|
|
| |
The new libpthread will provide POSIX threading support using KSE.
These files were previously repo-copied from src/lib/libc_r.
Reviewed by: deischen
Approved by: -arch
|
|
|
|
|
|
|
|
| |
pthread_page_size.
Fix a bunch line wrapping.
Pointed out by: deischen
|
|
|
|
|
|
|
| |
allow running on other arches when the instructions are supported but
the page size granularity is not.
Glanced at by: peter
|
|
|
|
|
|
|
| |
kernel #defines to figure out where the stack is located. This stops
libc_r from exploding when the kernel is compiled with a different
KVM size. IMHO this is all kinda bogus, it would be better to just
check %esp and work from that.
|
|
be malloc()ed, but they are now allocated using mmap(), just as the
default-size stacks are. A separate cache of stacks is kept for
non-default-size stacks.
Collaboration with: deischen
|