0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kernel

Last updated at Posted at 2024-04-06

module param

tokunori@tokunori-desktop:~/linux$ ls /sys/module/nvme/parameters/
io_queue_depth  max_host_mem_size_mb  noacpi  poll_queues  sgl_threshold  use_cmb_sqes  use_threaded_interrupts  write_queues
tokunori@tokunori-desktop:~/linux$ cat /sys/module/nvme/parameters/sgl_threshold 
32768
tokunori@tokunori-desktop:~/linux$ ls -la /sys/module/nvme/parameters/sgl_threshold 
-rw-r--r-- 1 root root 4096  4月  7 21:56 /sys/module/nvme/parameters/sgl_threshold
tokunori@tokunori-desktop:~/linux$ ls /sys/module/nvme_core/parameters/
admin_timeout                apst_primary_timeout_ms        apst_secondary_timeout_ms  force_apst  iopolicy     multipath
apst_primary_latency_tol_us  apst_secondary_latency_tol_us  default_ps_max_latency_us  io_timeout  max_retries  shutdown_timeout
tokunori@tokunori-desktop:~/linux$ cat /sys/module/nvme_core/parameters/
admin_timeout                  apst_primary_timeout_ms        apst_secondary_timeout_ms      force_apst                     iopolicy                       multipath                      
apst_primary_latency_tol_us    apst_secondary_latency_tol_us  default_ps_max_latency_us      io_timeout                     max_retries                    shutdown_timeout               
tokunori@tokunori-desktop:~/linux$ ls -la /sys/module/nvme_core/parameters/io_timeout 
-rw-r--r-- 1 root root 4096  4月  7 21:57 /sys/module/nvme_core/parameters/io_timeout
tokunori@tokunori-desktop:~/linux$ cat /sys/module/nvme_core/parameters/io_timeout 
30
tokunori@tokunori-desktop:~/linux$ ls /sys/module/nvme_fabrics/
coresize    holders/    initsize    initstate   notes/      refcnt      sections/   srcversion  taint       uevent      

link

macro

GENMASK


include/uapi/linux/bits.h

#define __GENMASK(h, l) \
        (((~_UL(0)) - (_UL(1) << (l)) + 1) & \
         (~_UL(0) >> (__BITS_PER_LONG - 1 - (h))))

include/bits.h

#define GENMASK(h, l) \
	(GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))

include/linux/nvme.h:   NVME_CMD_EFFECTS_CSE_MASK       = GENMASK(18, 16),

BIT_MASK

include/asm-generic/bitsperlong.h

#ifdef CONFIG_64BIT
#define BITS_PER_LONG 64
#else
#define BITS_PER_LONG 32
#endif /* CONFIG_64BIT */

include/bits.h

#define BIT_MASK(nr)		(UL(1) << ((nr) % BITS_PER_LONG))

kelvin_to_millicelsius, millicelsius_to_kelvin

include/linux/units.h

#define ABSOLUTE_ZERO_MILLICELSIUS -273150

static inline long milli_kelvin_to_millicelsius(long t)
{
	return t + ABSOLUTE_ZERO_MILLICELSIUS;
}

static inline long millicelsius_to_milli_kelvin(long t)
{
	return t - ABSOLUTE_ZERO_MILLICELSIUS;
}

#define MILLIDEGREE_PER_DEGREE 1000

static inline long kelvin_to_millicelsius(long t)
{
	return milli_kelvin_to_millicelsius(t * MILLIDEGREE_PER_DEGREE);
}

static inline long millicelsius_to_kelvin(long t)
{
	t = millicelsius_to_milli_kelvin(t);

	return DIV_ROUND_CLOSEST(t, MILLIDEGREE_PER_DEGREE);
}

FIELD_GET

include/linux/bitfield.h

/**
 * FIELD_GET() - extract a bitfield element
 * @_mask: shifted mask defining the field's length and position
 * @_reg:  value of entire bitfield
 *
 * FIELD_GET() extracts the field specified by @_mask from the
 * bitfield passed in as @_reg by masking and shifting it down.
 */
#define FIELD_GET(_mask, _reg)						\
	({								\
		__BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: ");	\
		(typeof(_mask))(((_reg) & (_mask)) >> __bf_shf(_mask));	\
	})
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?