mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-25 19:57:43 +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:
+23
-21
@@ -150,7 +150,7 @@ static const char *const zio_taskq_types[ZIO_TASKQ_TYPES] = {
|
||||
* and interrupt) and then to reserve threads for ZIO_PRIORITY_NOW I/Os that
|
||||
* need to be handled with minimum delay.
|
||||
*/
|
||||
const zio_taskq_info_t zio_taskqs[ZIO_TYPES][ZIO_TASKQ_TYPES] = {
|
||||
static const zio_taskq_info_t zio_taskqs[ZIO_TYPES][ZIO_TASKQ_TYPES] = {
|
||||
/* ISSUE ISSUE_HIGH INTR INTR_HIGH */
|
||||
{ ZTI_ONE, ZTI_NULL, ZTI_ONE, ZTI_NULL }, /* NULL */
|
||||
{ ZTI_N(8), ZTI_NULL, ZTI_SCALE, ZTI_NULL }, /* READ */
|
||||
@@ -167,12 +167,12 @@ static boolean_t spa_has_active_shared_spare(spa_t *spa);
|
||||
static int spa_load_impl(spa_t *spa, spa_import_type_t type, char **ereport);
|
||||
static void spa_vdev_resilver_done(spa_t *spa);
|
||||
|
||||
uint_t zio_taskq_batch_pct = 80; /* 1 thread per cpu in pset */
|
||||
uint_t zio_taskq_batch_tpq; /* threads per taskq */
|
||||
boolean_t zio_taskq_sysdc = B_TRUE; /* use SDC scheduling class */
|
||||
uint_t zio_taskq_basedc = 80; /* base duty cycle */
|
||||
static uint_t zio_taskq_batch_pct = 80; /* 1 thread per cpu in pset */
|
||||
static uint_t zio_taskq_batch_tpq; /* threads per taskq */
|
||||
static const boolean_t zio_taskq_sysdc = B_TRUE; /* use SDC scheduling class */
|
||||
static const uint_t zio_taskq_basedc = 80; /* base duty cycle */
|
||||
|
||||
boolean_t spa_create_process = B_TRUE; /* no process ==> no sysdc */
|
||||
static const boolean_t spa_create_process = B_TRUE; /* no process => no sysdc */
|
||||
|
||||
/*
|
||||
* Report any spa_load_verify errors found, but do not fail spa_load.
|
||||
@@ -195,7 +195,7 @@ boolean_t spa_mode_readable_spacemaps = B_FALSE;
|
||||
/*
|
||||
* For debugging purposes: print out vdev tree during pool import.
|
||||
*/
|
||||
int spa_load_print_vdev_tree = B_FALSE;
|
||||
static int spa_load_print_vdev_tree = B_FALSE;
|
||||
|
||||
/*
|
||||
* A non-zero value for zfs_max_missing_tvds means that we allow importing
|
||||
@@ -244,28 +244,28 @@ uint64_t zfs_max_missing_tvds_scan = 0;
|
||||
/*
|
||||
* Debugging aid that pauses spa_sync() towards the end.
|
||||
*/
|
||||
boolean_t zfs_pause_spa_sync = B_FALSE;
|
||||
static const boolean_t zfs_pause_spa_sync = B_FALSE;
|
||||
|
||||
/*
|
||||
* Variables to indicate the livelist condense zthr func should wait at certain
|
||||
* points for the livelist to be removed - used to test condense/destroy races
|
||||
*/
|
||||
int zfs_livelist_condense_zthr_pause = 0;
|
||||
int zfs_livelist_condense_sync_pause = 0;
|
||||
static int zfs_livelist_condense_zthr_pause = 0;
|
||||
static int zfs_livelist_condense_sync_pause = 0;
|
||||
|
||||
/*
|
||||
* Variables to track whether or not condense cancellation has been
|
||||
* triggered in testing.
|
||||
*/
|
||||
int zfs_livelist_condense_sync_cancel = 0;
|
||||
int zfs_livelist_condense_zthr_cancel = 0;
|
||||
static int zfs_livelist_condense_sync_cancel = 0;
|
||||
static int zfs_livelist_condense_zthr_cancel = 0;
|
||||
|
||||
/*
|
||||
* Variable to track whether or not extra ALLOC blkptrs were added to a
|
||||
* livelist entry while it was being condensed (caused by the way we track
|
||||
* remapped blkptrs in dbuf_remap_impl)
|
||||
*/
|
||||
int zfs_livelist_condense_new_alloc = 0;
|
||||
static int zfs_livelist_condense_new_alloc = 0;
|
||||
|
||||
/*
|
||||
* ==========================================================================
|
||||
@@ -1048,6 +1048,7 @@ spa_taskqs_init(spa_t *spa, zio_type_t t, zio_taskq_type_t q)
|
||||
if (batch)
|
||||
flags |= TASKQ_DC_BATCH;
|
||||
|
||||
(void) zio_taskq_basedc;
|
||||
tq = taskq_create_sysdc(name, value, 50, INT_MAX,
|
||||
spa->spa_proc, zio_taskq_basedc, flags);
|
||||
} else {
|
||||
@@ -1249,12 +1250,12 @@ spa_activate(spa_t *spa, spa_mode_t mode)
|
||||
spa->spa_mode = mode;
|
||||
spa->spa_read_spacemaps = spa_mode_readable_spacemaps;
|
||||
|
||||
spa->spa_normal_class = metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
spa->spa_log_class = metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
spa->spa_normal_class = metaslab_class_create(spa, &zfs_metaslab_ops);
|
||||
spa->spa_log_class = metaslab_class_create(spa, &zfs_metaslab_ops);
|
||||
spa->spa_embedded_log_class =
|
||||
metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
spa->spa_special_class = metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
spa->spa_dedup_class = metaslab_class_create(spa, zfs_metaslab_ops);
|
||||
metaslab_class_create(spa, &zfs_metaslab_ops);
|
||||
spa->spa_special_class = metaslab_class_create(spa, &zfs_metaslab_ops);
|
||||
spa->spa_dedup_class = metaslab_class_create(spa, &zfs_metaslab_ops);
|
||||
|
||||
/* Try to create a covering process */
|
||||
mutex_enter(&spa->spa_proc_lock);
|
||||
@@ -1262,6 +1263,7 @@ spa_activate(spa_t *spa, spa_mode_t mode)
|
||||
ASSERT(spa->spa_proc == &p0);
|
||||
spa->spa_did = 0;
|
||||
|
||||
(void) spa_create_process;
|
||||
#ifdef HAVE_SPA_THREAD
|
||||
/* Only create a process if we're going to be around a while. */
|
||||
if (spa_create_process && strcmp(spa->spa_name, TRYIMPORT_NAME) != 0) {
|
||||
@@ -2281,9 +2283,9 @@ spa_load_verify_done(zio_t *zio)
|
||||
* Maximum number of inflight bytes is the log2 fraction of the arc size.
|
||||
* By default, we set it to 1/16th of the arc.
|
||||
*/
|
||||
int spa_load_verify_shift = 4;
|
||||
int spa_load_verify_metadata = B_TRUE;
|
||||
int spa_load_verify_data = B_TRUE;
|
||||
static int spa_load_verify_shift = 4;
|
||||
static int spa_load_verify_metadata = B_TRUE;
|
||||
static int spa_load_verify_data = B_TRUE;
|
||||
|
||||
static int
|
||||
spa_load_verify_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
|
||||
|
||||
Reference in New Issue
Block a user