Home
last modified time | relevance | path

Searched refs:ksm (Results 1 – 23 of 23) sorted by relevance

/Linux-v5.15/block/
Dkeyslot-manager.c44 struct blk_keyslot_manager *ksm; member
47 static inline void blk_ksm_hw_enter(struct blk_keyslot_manager *ksm) in blk_ksm_hw_enter() argument
54 if (ksm->dev) in blk_ksm_hw_enter()
55 pm_runtime_get_sync(ksm->dev); in blk_ksm_hw_enter()
56 down_write(&ksm->lock); in blk_ksm_hw_enter()
59 static inline void blk_ksm_hw_exit(struct blk_keyslot_manager *ksm) in blk_ksm_hw_exit() argument
61 up_write(&ksm->lock); in blk_ksm_hw_exit()
62 if (ksm->dev) in blk_ksm_hw_exit()
63 pm_runtime_put_sync(ksm->dev); in blk_ksm_hw_exit()
66 static inline bool blk_ksm_is_passthrough(struct blk_keyslot_manager *ksm) in blk_ksm_is_passthrough() argument
[all …]
Dblk-crypto.c221 return blk_ksm_get_slot_for_key(rq->q->ksm, rq->crypt_ctx->bc_key, in __blk_crypto_init_request()
283 if (blk_ksm_crypto_cfg_supported(bio->bi_bdev->bd_disk->queue->ksm, in __blk_crypto_bio_prep()
360 blk_ksm_crypto_cfg_supported(q->ksm, cfg); in blk_crypto_config_supported()
381 if (blk_ksm_crypto_cfg_supported(q->ksm, &key->crypto_cfg)) in blk_crypto_start_using_key()
402 if (blk_ksm_crypto_cfg_supported(q->ksm, &key->crypto_cfg)) in blk_crypto_evict_key()
403 return blk_ksm_evict_key(q->ksm, key); in blk_crypto_evict_key()
Dblk-crypto-fallback.c106 static int blk_crypto_keyslot_program(struct blk_keyslot_manager *ksm, in blk_crypto_keyslot_program() argument
129 static int blk_crypto_keyslot_evict(struct blk_keyslot_manager *ksm, in blk_crypto_keyslot_evict() argument
Dblk-integrity.c412 if (disk->queue->ksm) { in blk_integrity_register()
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-kernel-mm-ksm1 What: /sys/kernel/mm/ksm
7 What: /sys/kernel/mm/ksm/full_scans
8 What: /sys/kernel/mm/ksm/pages_shared
9 What: /sys/kernel/mm/ksm/pages_sharing
10 What: /sys/kernel/mm/ksm/pages_to_scan
11 What: /sys/kernel/mm/ksm/pages_unshared
12 What: /sys/kernel/mm/ksm/pages_volatile
13 What: /sys/kernel/mm/ksm/run
14 What: /sys/kernel/mm/ksm/sleep_millisecs
36 run: write 0 to disable ksm, read 0 while ksm is disabled.
[all …]
/Linux-v5.15/include/linux/
Dkeyslot-manager.h28 int (*keyslot_program)(struct blk_keyslot_manager *ksm,
31 int (*keyslot_evict)(struct blk_keyslot_manager *ksm,
86 int blk_ksm_init(struct blk_keyslot_manager *ksm, unsigned int num_slots);
88 int devm_blk_ksm_init(struct device *dev, struct blk_keyslot_manager *ksm,
91 blk_status_t blk_ksm_get_slot_for_key(struct blk_keyslot_manager *ksm,
99 bool blk_ksm_crypto_cfg_supported(struct blk_keyslot_manager *ksm,
102 int blk_ksm_evict_key(struct blk_keyslot_manager *ksm,
105 void blk_ksm_reprogram_all_keys(struct blk_keyslot_manager *ksm);
107 void blk_ksm_destroy(struct blk_keyslot_manager *ksm);
112 void blk_ksm_init_passthrough(struct blk_keyslot_manager *ksm);
Dblkdev.h448 struct blk_keyslot_manager *ksm; member
1816 bool blk_ksm_register(struct blk_keyslot_manager *ksm, struct request_queue *q);
1822 static inline bool blk_ksm_register(struct blk_keyslot_manager *ksm, in blk_ksm_register() argument
Ddevice-mapper.h581 void dm_destroy_keyslot_manager(struct blk_keyslot_manager *ksm);
/Linux-v5.15/drivers/mmc/host/
Dcqhci-crypto.c26 cqhci_host_from_ksm(struct blk_keyslot_manager *ksm) in cqhci_host_from_ksm() argument
28 struct mmc_host *mmc = container_of(ksm, struct mmc_host, ksm); in cqhci_host_from_ksm()
60 static int cqhci_crypto_keyslot_program(struct blk_keyslot_manager *ksm, in cqhci_crypto_keyslot_program() argument
65 struct cqhci_host *cq_host = cqhci_host_from_ksm(ksm); in cqhci_crypto_keyslot_program()
118 static int cqhci_crypto_keyslot_evict(struct blk_keyslot_manager *ksm, in cqhci_crypto_keyslot_evict() argument
122 struct cqhci_host *cq_host = cqhci_host_from_ksm(ksm); in cqhci_crypto_keyslot_evict()
171 struct blk_keyslot_manager *ksm = &mmc->ksm; in cqhci_crypto_init() local
202 err = devm_blk_ksm_init(dev, ksm, num_keyslots); in cqhci_crypto_init()
206 ksm->ksm_ll_ops = cqhci_ksm_ops; in cqhci_crypto_init()
207 ksm->dev = dev; in cqhci_crypto_init()
[all …]
/Linux-v5.15/drivers/scsi/ufs/
Dufshcd-crypto.c51 static int ufshcd_crypto_keyslot_program(struct blk_keyslot_manager *ksm, in ufshcd_crypto_keyslot_program() argument
55 struct ufs_hba *hba = container_of(ksm, struct ufs_hba, ksm); in ufshcd_crypto_keyslot_program()
108 static int ufshcd_crypto_keyslot_evict(struct blk_keyslot_manager *ksm, in ufshcd_crypto_keyslot_evict() argument
112 struct ufs_hba *hba = container_of(ksm, struct ufs_hba, ksm); in ufshcd_crypto_keyslot_evict()
123 blk_ksm_reprogram_all_keys(&hba->ksm); in ufshcd_crypto_enable()
182 err = devm_blk_ksm_init(hba->dev, &hba->ksm, in ufshcd_hba_init_crypto_capabilities()
187 hba->ksm.ksm_ll_ops = ufshcd_ksm_ops; in ufshcd_hba_init_crypto_capabilities()
189 hba->ksm.max_dun_bytes_supported = 8; in ufshcd_hba_init_crypto_capabilities()
190 hba->ksm.dev = hba->dev; in ufshcd_hba_init_crypto_capabilities()
205 hba->ksm.crypto_modes_supported[blk_mode_num] |= in ufshcd_hba_init_crypto_capabilities()
[all …]
Dufshcd.h914 struct blk_keyslot_manager ksm; member
/Linux-v5.15/drivers/md/
Ddm-table.c1190 struct blk_keyslot_manager ksm; member
1216 static int dm_keyslot_evict(struct blk_keyslot_manager *ksm, in dm_keyslot_evict() argument
1219 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_keyslot_evict()
1221 ksm); in dm_keyslot_evict()
1251 struct blk_keyslot_manager *child = bdev_get_queue(dev->bdev)->ksm; in device_intersect_crypto_modes()
1257 void dm_destroy_keyslot_manager(struct blk_keyslot_manager *ksm) in dm_destroy_keyslot_manager() argument
1259 struct dm_keyslot_manager *dksm = container_of(ksm, in dm_destroy_keyslot_manager()
1261 ksm); in dm_destroy_keyslot_manager()
1263 if (!ksm) in dm_destroy_keyslot_manager()
1266 blk_ksm_destroy(ksm); in dm_destroy_keyslot_manager()
[all …]
Ddm-core.h203 struct blk_keyslot_manager *ksm; member
Ddm.c1676 dm_destroy_keyslot_manager(q->ksm); in dm_queue_destroy_keyslot_manager()
/Linux-v5.15/drivers/mmc/core/
Dcrypto.c19 blk_ksm_reprogram_all_keys(&host->ksm); in mmc_crypto_set_initial_state()
25 blk_ksm_register(&host->ksm, q); in mmc_crypto_setup_queue()
/Linux-v5.15/Documentation/admin-guide/mm/
Dksm.rst11 added to the Linux kernel in 2.6.32. See ``mm/ksm.c`` for its implementation,
78 The KSM daemon is controlled by sysfs files in ``/sys/kernel/mm/ksm/``,
83 e.g. ``echo 100 > /sys/kernel/mm/ksm/pages_to_scan``.
89 e.g. ``echo 20 > /sys/kernel/mm/ksm/sleep_millisecs``
95 When set to 0, ksm merges only pages which physically reside
104 when there are no ksm shared pages in the system: set run 2 to
112 * set to 1 to run ksmd e.g. ``echo 1 > /sys/kernel/mm/ksm/run``,
160 The effectiveness of KSM and MADV_MERGEABLE is shown in ``/sys/kernel/mm/ksm/``:
Dindex.rst33 ksm
/Linux-v5.15/Documentation/vm/
Dksm.rst8 added to the Linux kernel in 2.6.32. See ``mm/ksm.c`` for its implementation,
11 The userspace interface of KSM is described in :ref:`Documentation/admin-guide/mm/ksm.rst <admin_gu…
19 .. kernel-doc:: mm/ksm.c
82 .. kernel-doc:: mm/ksm.c
Dindex.rst42 ksm
/Linux-v5.15/mm/
DMakefile84 obj-$(CONFIG_KSM) += ksm.o
DKconfig301 See Documentation/vm/ksm.rst for more information: KSM is inactive
303 root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set).
/Linux-v5.15/include/linux/mmc/
Dhost.h495 struct blk_keyslot_manager ksm; member
/Linux-v5.15/Documentation/block/
Dinline-encryption.rst198 field in the ksm to point to the `struct device` for the KSM to use for runtime