mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 19:04:45 +03:00
module/*.ko: prune .data, global .rodata
Evaluated every variable that lives in .data (and globals in .rodata) in the kernel modules, and constified/eliminated/localised them appropriately. This means that all read-only data is now actually read-only data, and, if possible, at file scope. A lot of previously- global-symbols became inlinable (and inlined!) constants. Probably not in a big Wowee Performance Moment, but hey. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12899
This commit is contained in:
@@ -146,12 +146,12 @@ static int nvlist_add_common(nvlist_t *nvl, const char *name, data_type_t type,
|
||||
((i_nvp_t *)((size_t)(nvp) - offsetof(i_nvp_t, nvi_nvp)))
|
||||
|
||||
#ifdef _KERNEL
|
||||
int nvpair_max_recursion = 20;
|
||||
static const int nvpair_max_recursion = 20;
|
||||
#else
|
||||
int nvpair_max_recursion = 100;
|
||||
static const int nvpair_max_recursion = 100;
|
||||
#endif
|
||||
|
||||
uint64_t nvlist_hashtable_init_size = (1 << 4);
|
||||
static const uint64_t nvlist_hashtable_init_size = (1 << 4);
|
||||
|
||||
int
|
||||
nv_alloc_init(nv_alloc_t *nva, const nv_alloc_ops_t *nvo, /* args */ ...)
|
||||
|
||||
@@ -100,7 +100,7 @@ nv_fixed_reset(nv_alloc_t *nva)
|
||||
nvb->nvb_cur = (uintptr_t)&nvb[1];
|
||||
}
|
||||
|
||||
const nv_alloc_ops_t nv_fixed_ops_def = {
|
||||
static const nv_alloc_ops_t nv_fixed_ops_def = {
|
||||
.nv_ao_init = nv_fixed_init,
|
||||
.nv_ao_fini = NULL,
|
||||
.nv_ao_alloc = nv_fixed_alloc,
|
||||
@@ -108,7 +108,7 @@ const nv_alloc_ops_t nv_fixed_ops_def = {
|
||||
.nv_ao_reset = nv_fixed_reset
|
||||
};
|
||||
|
||||
const nv_alloc_ops_t *nv_fixed_ops = &nv_fixed_ops_def;
|
||||
const nv_alloc_ops_t *const nv_fixed_ops = &nv_fixed_ops_def;
|
||||
|
||||
#if defined(_KERNEL)
|
||||
EXPORT_SYMBOL(nv_fixed_ops);
|
||||
|
||||
@@ -52,7 +52,7 @@ nv_free_spl(nv_alloc_t *nva, void *buf, size_t size)
|
||||
kmem_free(buf, size);
|
||||
}
|
||||
|
||||
const nv_alloc_ops_t spl_sleep_ops_def = {
|
||||
static const nv_alloc_ops_t spl_sleep_ops_def = {
|
||||
.nv_ao_init = NULL,
|
||||
.nv_ao_fini = NULL,
|
||||
.nv_ao_alloc = nv_alloc_sleep_spl,
|
||||
@@ -60,7 +60,7 @@ const nv_alloc_ops_t spl_sleep_ops_def = {
|
||||
.nv_ao_reset = NULL
|
||||
};
|
||||
|
||||
const nv_alloc_ops_t spl_pushpage_ops_def = {
|
||||
static const nv_alloc_ops_t spl_pushpage_ops_def = {
|
||||
.nv_ao_init = NULL,
|
||||
.nv_ao_fini = NULL,
|
||||
.nv_ao_alloc = nv_alloc_pushpage_spl,
|
||||
@@ -68,7 +68,7 @@ const nv_alloc_ops_t spl_pushpage_ops_def = {
|
||||
.nv_ao_reset = NULL
|
||||
};
|
||||
|
||||
const nv_alloc_ops_t spl_nosleep_ops_def = {
|
||||
static const nv_alloc_ops_t spl_nosleep_ops_def = {
|
||||
.nv_ao_init = NULL,
|
||||
.nv_ao_fini = NULL,
|
||||
.nv_ao_alloc = nv_alloc_nosleep_spl,
|
||||
@@ -76,21 +76,21 @@ const nv_alloc_ops_t spl_nosleep_ops_def = {
|
||||
.nv_ao_reset = NULL
|
||||
};
|
||||
|
||||
nv_alloc_t nv_alloc_sleep_def = {
|
||||
static nv_alloc_t nv_alloc_sleep_def = {
|
||||
&spl_sleep_ops_def,
|
||||
NULL
|
||||
};
|
||||
|
||||
nv_alloc_t nv_alloc_pushpage_def = {
|
||||
static nv_alloc_t nv_alloc_pushpage_def = {
|
||||
&spl_pushpage_ops_def,
|
||||
NULL
|
||||
};
|
||||
|
||||
nv_alloc_t nv_alloc_nosleep_def = {
|
||||
static nv_alloc_t nv_alloc_nosleep_def = {
|
||||
&spl_nosleep_ops_def,
|
||||
NULL
|
||||
};
|
||||
|
||||
nv_alloc_t *nv_alloc_sleep = &nv_alloc_sleep_def;
|
||||
nv_alloc_t *nv_alloc_pushpage = &nv_alloc_pushpage_def;
|
||||
nv_alloc_t *nv_alloc_nosleep = &nv_alloc_nosleep_def;
|
||||
nv_alloc_t *const nv_alloc_sleep = &nv_alloc_sleep_def;
|
||||
nv_alloc_t *const nv_alloc_pushpage = &nv_alloc_pushpage_def;
|
||||
nv_alloc_t *const nv_alloc_nosleep = &nv_alloc_nosleep_def;
|
||||
|
||||
Reference in New Issue
Block a user