summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-06-18 02:57:38 +0000
committeralc <alc@FreeBSD.org>2003-06-18 02:57:38 +0000
commit9dcd110789373369f96f2400292de3c7b2d50d6e (patch)
treed86cf16353f3d8e0361533d5f22b7ae288925f52 /sys/ia64
parentd54ed51ea92e745fb49138453ff3331e9304b943 (diff)
downloadFreeBSD-src-9dcd110789373369f96f2400292de3c7b2d50d6e.zip
FreeBSD-src-9dcd110789373369f96f2400292de3c7b2d50d6e.tar.gz
Fix a performance bug in all of the various implementations of
uma_small_alloc(): They always zeroed the page regardless of what the caller requested.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c
index 77effaa..43405bd 100644
--- a/sys/ia64/ia64/pmap.c
+++ b/sys/ia64/ia64/pmap.c
@@ -539,7 +539,7 @@ uma_small_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait)
}
va = (void *)IA64_PHYS_TO_RR7(VM_PAGE_TO_PHYS(m));
- if ((m->flags & PG_ZERO) == 0)
+ if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0)
bzero(va, PAGE_SIZE);
return (va);
}
OpenPOWER on IntegriCloud