diff options
author | Sudheer A <Sudheer.Abdul-Salam@Sun.COM> | 2009-07-23 15:32:40 -0700 |
---|---|---|
committer | Sudheer A <Sudheer.Abdul-Salam@Sun.COM> | 2009-07-23 15:32:40 -0700 |
commit | 406882169e00272f14067d948324d690893e6fe3 (patch) | |
tree | 7a615b20e4fef0add627c91dad1fd40518d507aa /usr/src/uts/common/vm/as.h | |
parent | 3ed623140e27064f81020d9d47f9fb17489d1190 (diff) | |
download | illumos-joyent-406882169e00272f14067d948324d690893e6fe3.tar.gz |
6801244 ps takes too long when many AS segments because of rm_assize
Contributed by Chad Mynhier <cmynhier@forsythe.com>
Diffstat (limited to 'usr/src/uts/common/vm/as.h')
-rw-r--r-- | usr/src/uts/common/vm/as.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/usr/src/uts/common/vm/as.h b/usr/src/uts/common/vm/as.h index 8ee8cb5276..98e496ef36 100644 --- a/usr/src/uts/common/vm/as.h +++ b/usr/src/uts/common/vm/as.h @@ -110,7 +110,7 @@ struct as { caddr_t a_userlimit; /* highest allowable address in this as */ struct seg *a_seglast; /* last segment hit on the addr space */ krwlock_t a_lock; /* protects segment related fields */ - size_t a_size; /* size of address space */ + size_t a_size; /* total size of address space */ struct seg *a_lastgap; /* last seg found by as_gap() w/ AS_HI (mmap) */ struct seg *a_lastgaphl; /* last seg saved in as_gap() either for */ /* AS_HI or AS_LO used in as_addseg() */ @@ -123,6 +123,7 @@ struct as { struct as_callback *a_callbacks; /* callback list */ void *a_xhat; /* list of xhat providers */ proc_t *a_proc; /* back pointer to proc */ + size_t a_resvsize; /* size of reserved part of address space */ }; #define AS_PAGLCK 0x80 @@ -276,8 +277,6 @@ int as_incore(struct as *as, caddr_t addr, size_t size, char *vec, size_t *sizep); int as_ctl(struct as *as, caddr_t addr, size_t size, int func, int attr, uintptr_t arg, ulong_t *lock_map, size_t pos); -int as_exec(struct as *oas, caddr_t ostka, size_t stksz, - struct as *nas, caddr_t nstka, uint_t hatflag); int as_pagelock(struct as *as, struct page ***ppp, caddr_t addr, size_t size, enum seg_rw rw); void as_pageunlock(struct as *as, struct page **pp, caddr_t addr, |