Deleted Added
full compact
kmem.h (262329) kmem.h (270759)
1/*-
2 * Copyright (c) 2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2007 Pawel Jakub Dawidek <pjd@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/cddl/compat/opensolaris/sys/kmem.h 262329 2014-02-22 05:13:35Z markj $
26 * $FreeBSD: head/sys/cddl/compat/opensolaris/sys/kmem.h 270759 2014-08-28 19:50:08Z smh $
27 */
28
29#ifndef _OPENSOLARIS_SYS_KMEM_H_
30#define _OPENSOLARIS_SYS_KMEM_H_
31
32#include <sys/param.h>
33#include <sys/proc.h>
34#include <sys/malloc.h>

--- 26 unchanged lines hidden (view full) ---

61 int (*kc_constructor)(void *, void *, int);
62 void (*kc_destructor)(void *, void *);
63 void *kc_private;
64} kmem_cache_t;
65
66void *zfs_kmem_alloc(size_t size, int kmflags);
67void zfs_kmem_free(void *buf, size_t size);
68uint64_t kmem_size(void);
27 */
28
29#ifndef _OPENSOLARIS_SYS_KMEM_H_
30#define _OPENSOLARIS_SYS_KMEM_H_
31
32#include <sys/param.h>
33#include <sys/proc.h>
34#include <sys/malloc.h>

--- 26 unchanged lines hidden (view full) ---

61 int (*kc_constructor)(void *, void *, int);
62 void (*kc_destructor)(void *, void *);
63 void *kc_private;
64} kmem_cache_t;
65
66void *zfs_kmem_alloc(size_t size, int kmflags);
67void zfs_kmem_free(void *buf, size_t size);
68uint64_t kmem_size(void);
69uint64_t kmem_used(void);
69u_int kmem_page_count(void);
70
71/*
72 * The return values from kmem_free_* are only valid once the pagedaemon
73 * has been initialised, before then they return 0.
74 */
75u_int kmem_free_count(void);
76u_int kmem_free_target(void);
77u_int kmem_free_min(void);
78
70kmem_cache_t *kmem_cache_create(char *name, size_t bufsize, size_t align,
71 int (*constructor)(void *, void *, int), void (*destructor)(void *, void *),
72 void (*reclaim)(void *) __unused, void *private, vmem_t *vmp, int cflags);
73void kmem_cache_destroy(kmem_cache_t *cache);
74void *kmem_cache_alloc(kmem_cache_t *cache, int flags);
75void kmem_cache_free(kmem_cache_t *cache, void *buf);
76void kmem_cache_reap_now(kmem_cache_t *cache);
77void kmem_reap(void);
78int kmem_debugging(void);
79void *calloc(size_t n, size_t s);
80
81#define kmem_alloc(size, kmflags) zfs_kmem_alloc((size), (kmflags))
82#define kmem_zalloc(size, kmflags) zfs_kmem_alloc((size), (kmflags) | M_ZERO)
83#define kmem_free(buf, size) zfs_kmem_free((buf), (size))
84
85#define kmem_cache_set_move(cache, movefunc) do { } while (0)
86
87#endif /* _OPENSOLARIS_SYS_KMEM_H_ */
79kmem_cache_t *kmem_cache_create(char *name, size_t bufsize, size_t align,
80 int (*constructor)(void *, void *, int), void (*destructor)(void *, void *),
81 void (*reclaim)(void *) __unused, void *private, vmem_t *vmp, int cflags);
82void kmem_cache_destroy(kmem_cache_t *cache);
83void *kmem_cache_alloc(kmem_cache_t *cache, int flags);
84void kmem_cache_free(kmem_cache_t *cache, void *buf);
85void kmem_cache_reap_now(kmem_cache_t *cache);
86void kmem_reap(void);
87int kmem_debugging(void);
88void *calloc(size_t n, size_t s);
89
90#define kmem_alloc(size, kmflags) zfs_kmem_alloc((size), (kmflags))
91#define kmem_zalloc(size, kmflags) zfs_kmem_alloc((size), (kmflags) | M_ZERO)
92#define kmem_free(buf, size) zfs_kmem_free((buf), (size))
93
94#define kmem_cache_set_move(cache, movefunc) do { } while (0)
95
96#endif /* _OPENSOLARIS_SYS_KMEM_H_ */