git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use dynamic file descriptor numbers in ztest.
[zfs.git]
/
module
/
zfs
/
fm.c
diff --git
a/module/zfs/fm.c
b/module/zfs/fm.c
index
e4ecfea
..
ce0ebe0
100644
(file)
--- a/
module/zfs/fm.c
+++ b/
module/zfs/fm.c
@@
-418,7
+418,7
@@
zfs_zevent_alloc(void)
{
zevent_t *ev;
{
zevent_t *ev;
- ev = kmem_zalloc(sizeof(zevent_t), KM_
SLEEP
);
+ ev = kmem_zalloc(sizeof(zevent_t), KM_
PUSHPAGE
);
if (ev == NULL)
return NULL;
if (ev == NULL)
return NULL;
@@
-672,7
+672,7
@@
zfs_zevent_destroy(zfs_zevent_t *ze)
static void *
i_fm_alloc(nv_alloc_t *nva, size_t size)
{
static void *
i_fm_alloc(nv_alloc_t *nva, size_t size)
{
- return (kmem_zalloc(size, KM_
SLEEP
));
+ return (kmem_zalloc(size, KM_
PUSHPAGE
));
}
/* ARGSUSED */
}
/* ARGSUSED */
@@
-740,7
+740,7
@@
fm_nvlist_create(nv_alloc_t *nva)
nv_alloc_t *nvhdl;
if (nva == NULL) {
nv_alloc_t *nvhdl;
if (nva == NULL) {
- nvhdl = kmem_zalloc(sizeof (nv_alloc_t), KM_
SLEEP
);
+ nvhdl = kmem_zalloc(sizeof (nv_alloc_t), KM_
PUSHPAGE
);
if (nv_alloc_init(nvhdl, &fm_mem_alloc_ops, NULL, 0) != 0) {
kmem_free(nvhdl, sizeof (nv_alloc_t));
if (nv_alloc_init(nvhdl, &fm_mem_alloc_ops, NULL, 0) != 0) {
kmem_free(nvhdl, sizeof (nv_alloc_t));
@@
-1413,7
+1413,13
@@
fm_ena_generate_cpu(uint64_t timestamp, processorid_t cpuid, uchar_t format)
uint64_t
fm_ena_generate(uint64_t timestamp, uchar_t format)
{
uint64_t
fm_ena_generate(uint64_t timestamp, uchar_t format)
{
- return (fm_ena_generate_cpu(timestamp, getcpuid(), format));
+ uint64_t ena;
+
+ kpreempt_disable();
+ ena = fm_ena_generate_cpu(timestamp, getcpuid(), format);
+ kpreempt_enable();
+
+ return (ena);
}
uint64_t
}
uint64_t