diff options
author | Rafael Vanoni <rafael.vanoni@sun.com> | 2009-11-13 01:32:32 -0800 |
---|---|---|
committer | Rafael Vanoni <rafael.vanoni@sun.com> | 2009-11-13 01:32:32 -0800 |
commit | d3d50737e566cade9a08d73d2af95105ac7cd960 (patch) | |
tree | 399b76a3f6bf107e2ff506d8f9c3333654b29fc7 /usr/src/uts/common/vm/seg_kp.c | |
parent | 1eff5f7761619411b3c31280fcd96cefc32968b7 (diff) | |
download | illumos-joyent-d3d50737e566cade9a08d73d2af95105ac7cd960.tar.gz |
PSARC/2009/396 Tickless Kernel Architecture / lbolt decoupling
6860030 tickless clock requires a clock() decoupled lbolt / lbolt64
Portions contributed by Chad Mynhier <cmynhier@gmail.com>
Diffstat (limited to 'usr/src/uts/common/vm/seg_kp.c')
-rw-r--r-- | usr/src/uts/common/vm/seg_kp.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/usr/src/uts/common/vm/seg_kp.c b/usr/src/uts/common/vm/seg_kp.c index d65b3062bc..af684f4c06 100644 --- a/usr/src/uts/common/vm/seg_kp.c +++ b/usr/src/uts/common/vm/seg_kp.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -31,8 +31,6 @@ * under license from the Regents of the University of California. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * segkp is a segment driver that administers the allocation and deallocation * of pageable variable size chunks of kernel virtual address space. Each @@ -133,12 +131,12 @@ ulong_t *segkp_bitmap; * then the stack situation has become quite serious; if much more stack * is consumed, we have the potential of scrogging the next thread/LWP * structure. To help debug the "can't happen" panics which may - * result from this condition, we record lbolt and the calling thread - * in red_deep_lbolt and red_deep_thread respectively. + * result from this condition, we record hrestime and the calling thread + * in red_deep_hires and red_deep_thread respectively. */ #define RED_DEEP_THRESHOLD 2000 -clock_t red_deep_lbolt; +hrtime_t red_deep_hires; kthread_t *red_deep_thread; uint32_t red_nmapped; @@ -854,10 +852,10 @@ segkp_map_red(void) * LWP structure. That situation could result in * a very hard-to-debug panic, so, in the spirit of * recording the name of one's killer in one's own - * blood, we're going to record lbolt and the calling + * blood, we're going to record hrestime and the calling * thread. */ - red_deep_lbolt = lbolt; + red_deep_hires = hrestime.tv_nsec; red_deep_thread = curthread; } @@ -1325,7 +1323,7 @@ segkp_find(struct seg *seg, caddr_t vaddr) mutex_enter(&segkp_lock); do { for (kpd = kpsd->kpsd_hash[i]; kpd != NULL; - kpd = kpd->kp_next) { + kpd = kpd->kp_next) { if (vaddr >= kpd->kp_base && vaddr < kpd->kp_base + kpd->kp_len) { mutex_exit(&segkp_lock); |