summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1996-08-04 20:13:08 +0000
committerphk <phk@FreeBSD.org>1996-08-04 20:13:08 +0000
commitee88966824159672a760371172f32019eee12ae5 (patch)
tree1cdff00fe84e88e00900ef6ac384c30222716f8f
parent0a7364f8a41b9b1a7176fb25268378511aea415d (diff)
downloadFreeBSD-src-ee88966824159672a760371172f32019eee12ae5.zip
FreeBSD-src-ee88966824159672a760371172f32019eee12ae5.tar.gz
Add separate kmalloc classes for BIO buffers and Ktrace info.
-rw-r--r--sys/kern/kern_ktrace.c24
-rw-r--r--sys/kern/vfs_bio.c8
-rw-r--r--sys/sys/malloc.h8
3 files changed, 22 insertions, 18 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
index c76044e..46b1ca6 100644
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)kern_ktrace.c 8.2 (Berkeley) 9/23/93
- * $Id: kern_ktrace.c,v 1.10 1996/01/03 21:42:04 wollman Exp $
+ * $Id: kern_ktrace.c,v 1.11 1996/03/11 06:03:23 hsu Exp $
*/
#include "opt_ktrace.h"
@@ -63,7 +63,7 @@ ktrgetheader(type)
struct proc *p = curproc; /* XXX */
MALLOC(kth, struct ktr_header *, sizeof (struct ktr_header),
- M_TEMP, M_WAITOK);
+ M_KTRACE, M_WAITOK);
kth->ktr_type = type;
microtime(&kth->ktr_time);
kth->ktr_pid = p->p_pid;
@@ -84,7 +84,7 @@ ktrsyscall(vp, code, narg, args)
p->p_traceflag |= KTRFAC_ACTIVE;
kth = ktrgetheader(KTR_SYSCALL);
- MALLOC(ktp, struct ktr_syscall *, len, M_TEMP, M_WAITOK);
+ MALLOC(ktp, struct ktr_syscall *, len, M_KTRACE, M_WAITOK);
ktp->ktr_code = code;
ktp->ktr_narg = narg;
argp = (int *)((char *)ktp + sizeof(struct ktr_syscall));
@@ -93,8 +93,8 @@ ktrsyscall(vp, code, narg, args)
kth->ktr_buf = (caddr_t)ktp;
kth->ktr_len = len;
ktrwrite(vp, kth);
- FREE(ktp, M_TEMP);
- FREE(kth, M_TEMP);
+ FREE(ktp, M_KTRACE);
+ FREE(kth, M_KTRACE);
p->p_traceflag &= ~KTRFAC_ACTIVE;
}
@@ -117,7 +117,7 @@ ktrsysret(vp, code, error, retval)
kth->ktr_len = sizeof(struct ktr_sysret);
ktrwrite(vp, kth);
- FREE(kth, M_TEMP);
+ FREE(kth, M_KTRACE);
p->p_traceflag &= ~KTRFAC_ACTIVE;
}
@@ -135,7 +135,7 @@ ktrnamei(vp, path)
kth->ktr_buf = path;
ktrwrite(vp, kth);
- FREE(kth, M_TEMP);
+ FREE(kth, M_KTRACE);
p->p_traceflag &= ~KTRFAC_ACTIVE;
}
@@ -158,7 +158,7 @@ ktrgenio(vp, fd, rw, iov, len, error)
p->p_traceflag |= KTRFAC_ACTIVE;
kth = ktrgetheader(KTR_GENIO);
MALLOC(ktp, struct ktr_genio *, sizeof(struct ktr_genio) + len,
- M_TEMP, M_WAITOK);
+ M_KTRACE, M_WAITOK);
ktp->ktr_fd = fd;
ktp->ktr_rw = rw;
cp = (caddr_t)((char *)ktp + sizeof (struct ktr_genio));
@@ -176,8 +176,8 @@ ktrgenio(vp, fd, rw, iov, len, error)
ktrwrite(vp, kth);
done:
- FREE(kth, M_TEMP);
- FREE(ktp, M_TEMP);
+ FREE(kth, M_KTRACE);
+ FREE(ktp, M_KTRACE);
p->p_traceflag &= ~KTRFAC_ACTIVE;
}
@@ -202,7 +202,7 @@ ktrpsig(vp, sig, action, mask, code)
kth->ktr_len = sizeof (struct ktr_psig);
ktrwrite(vp, kth);
- FREE(kth, M_TEMP);
+ FREE(kth, M_KTRACE);
p->p_traceflag &= ~KTRFAC_ACTIVE;
}
@@ -223,7 +223,7 @@ ktrcsw(vp, out, user)
kth->ktr_len = sizeof (struct ktr_csw);
ktrwrite(vp, kth);
- FREE(kth, M_TEMP);
+ FREE(kth, M_KTRACE);
p->p_traceflag &= ~KTRFAC_ACTIVE;
}
#endif
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index fb7f86a..675ecab 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -18,7 +18,7 @@
* 5. Modifications may be freely made to this file if the above conditions
* are met.
*
- * $Id: vfs_bio.c,v 1.93 1996/06/14 11:01:27 asami Exp $
+ * $Id: vfs_bio.c,v 1.94 1996/06/30 05:17:08 davidg Exp $
*/
/*
@@ -1133,7 +1133,7 @@ allocbuf(struct buf * bp, int size)
if (newbsize) {
bp->b_bcount = size;
} else {
- free(bp->b_data, M_TEMP);
+ free(bp->b_data, M_BIOBUF);
bufspace -= bp->b_bufsize;
bufmallocspace -= bp->b_bufsize;
bp->b_data = (caddr_t) buffers_kva + (bp - buf) * MAXBSIZE;
@@ -1156,7 +1156,7 @@ allocbuf(struct buf * bp, int size)
(bp->b_bufsize == 0) &&
(mbsize <= PAGE_SIZE/2)) {
- bp->b_data = malloc(mbsize, M_TEMP, M_WAITOK);
+ bp->b_data = malloc(mbsize, M_BIOBUF, M_WAITOK);
bp->b_bufsize = mbsize;
bp->b_bcount = size;
bp->b_flags |= B_MALLOC;
@@ -1186,7 +1186,7 @@ allocbuf(struct buf * bp, int size)
(vm_offset_t) bp->b_data + newbsize);
if (origbuf) {
bcopy(origbuf, bp->b_data, origbufsize);
- free(origbuf, M_TEMP);
+ free(origbuf, M_BIOBUF);
}
}
} else {
diff --git a/sys/sys/malloc.h b/sys/sys/malloc.h
index d6c0fb1..75860e4 100644
--- a/sys/sys/malloc.h
+++ b/sys/sys/malloc.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)malloc.h 8.5 (Berkeley) 5/3/95
- * $Id: malloc.h,v 1.13 1996/05/02 14:21:02 phk Exp $
+ * $Id: malloc.h,v 1.14 1996/06/14 17:22:18 wollman Exp $
*/
#ifndef _SYS_MALLOC_H_
@@ -126,7 +126,9 @@
#define M_PKTCLASS 79 /* structures used in packet classifier */
#define M_SYSCTL 80 /* sysctl internal magic */
#define M_SECA 81 /* security associations, key management */
-#define M_LAST 82 /* Must be last type + 1 */
+#define M_BIOBUF 82 /* BIO buffer */
+#define M_KTRACE 83 /* KTRACE */
+#define M_LAST 84 /* Must be last type + 1 */
#define INITKMEMNAMES { \
"free", /* 0 M_FREE */ \
@@ -208,6 +210,8 @@
"PktClass", /* 79 M_PKTCLASS */ \
"sysctl", /* 80 M_SYSCTL */ \
"key mgmt", /* 81 M_SECA */ \
+ "BIO buffer", /* 82 M_BIOBUF */ \
+ "KTRACE", /* 83 M_KTRACE */ \
}
struct kmemstats {
OpenPOWER on IntegriCloud