/spdk/lib/vfio_user/host/ |
H A D | vfio_user_pci.c | 161 vfio_device_dma_map(struct vfio_device *device) in vfio_device_dma_map() argument 168 device->map = spdk_mem_map_alloc((uint64_t)NULL, &vfio_map_ops, device); in vfio_device_dma_map() 169 if (device->map == NULL) { in vfio_device_dma_map() 200 vfio_device_setup_sparse_mmaps(struct vfio_device *device, int index, in vfio_device_setup_sparse_mmaps() argument 205 struct vfio_pci_region *region = &device->regions[index]; in vfio_device_setup_sparse_mmaps() 239 device->regions[index].nr_mmaps = j; in vfio_device_setup_sparse_mmaps() 249 vfio_device_map_region(struct vfio_device *device, struct vfio_pci_region *region, int fd) in vfio_device_map_region() argument 273 vfio_device_map_bars_and_config_region(struct vfio_device *device) in vfio_device_map_bars_and_config_region() argument 288 for (i = 0; i < device->pci_regions; i++) { in vfio_device_map_bars_and_config_region() 293 ret = vfio_user_get_dev_region_info(device, info, len, fds, VFIO_MAXIMUM_SPARSE_MMAP_REGIONS); in vfio_device_map_bars_and_config_region() [all …]
|
/spdk/test/ftl/ |
H A D | ftl.sh | 17 if [[ -n $device ]]; then 21 "$rpc_py" bdev_nvme_attach_controller -b nvme0 -t PCIe -a $device 34 PCI_ALLOWED="$device" PCI_BLOCKED="" DRIVER_OVERRIDE="" $rootdir/scripts/setup.sh 62 device=$disk 68 if [ -z "$device" ]; then 73 run_test "ftl_fio_basic" $testdir/fio.sh $device $nv_cache basic 74 run_test "ftl_bdevperf" $testdir/bdevperf.sh $device $nv_cache 75 run_test "ftl_trim" $testdir/trim.sh $device $nv_cache 76 run_test "ftl_restore" $testdir/restore.sh -c $nv_cache $device 77 run_test "ftl_dirty_shutdown" $testdir/dirty_shutdown.sh -c $nv_cache $device [all …]
|
/spdk/module/accel/dpdk_cryptodev/ |
H A D | accel_dpdk_cryptodev.c | 26 * load balance the QAT device. 51 /* This is the max number of IOs we can supply to any crypto device QP at one time. 108 struct accel_dpdk_cryptodev_device *device; /* ptr to crypto device */ 118 struct rte_cryptodev_info cdev_info; /* includes DPDK device friendly name */ 120 uint8_t cdev_id; /* identifier for the device */ 126 struct accel_dpdk_cryptodev_device *device; 147 /* Array of qpairs for each available device. The specific device will be selected depending on the crypto key */ 246 /* Each run of the poller will get just what the device ha in accel_dpdk_cryptodev_poll_qp() 107 struct accel_dpdk_cryptodev_device *device; /* ptr to crypto device */ global() member 125 struct accel_dpdk_cryptodev_device *device; global() member 798 struct accel_dpdk_cryptodev_device *device, *device_tmp; accel_dpdk_cryptodev_get_next_device_qpair() local 821 struct accel_dpdk_cryptodev_device *device; accel_dpdk_cryptodev_assign_device_qps() local 1000 struct accel_dpdk_cryptodev_device *device; accel_dpdk_cryptodev_create() local 1126 accel_dpdk_cryptodev_release(struct accel_dpdk_cryptodev_device * device) accel_dpdk_cryptodev_release() argument 1151 struct accel_dpdk_cryptodev_device *device, *tmp_dev; accel_dpdk_cryptodev_init() local 1281 struct accel_dpdk_cryptodev_device *device, *tmp; accel_dpdk_cryptodev_fini_cb() local 1313 accel_dpdk_cryptodev_key_handle_session_free(struct accel_dpdk_cryptodev_device * device,void * session) accel_dpdk_cryptodev_key_handle_session_free() argument 1326 accel_dpdk_cryptodev_key_handle_session_create(struct accel_dpdk_cryptodev_device * device,struct rte_crypto_sym_xform * cipher_xform) accel_dpdk_cryptodev_key_handle_session_create() argument 1445 struct accel_dpdk_cryptodev_device *device; accel_dpdk_cryptodev_key_init() local [all...] |
/spdk/test/sma/ |
H A D | crypto.sh | 105 local device=$1 112 "device_handle": "$device", 189 # Create an empty device first 190 device=$(create_device | jq -r '.handle') 193 attach_volume $device $uuid 201 detach_volume $device $uuid 204 attach_volume $device $uuid AES_CBC $key0 218 attach_volume $device $uuid AES_CBC $key0 232 NOT attach_volume $device $uuid AES_XTS $key0 234 NOT attach_volume $device [all...] |
H A D | qos.sh | 59 # Prepare a device with a volume 62 device=$(create_device $uuid | jq -r '.handle') 78 # Make sure that invalid device type causes an error 86 "device_handle": "$device", 110 "device_handle": "$device", 135 "device_handle": "$device", 164 "device_handle": "$device", 177 # Check non-existing device handle/volume_id 182 "device_handle": "${device}-invalid", 195 "device_handle": "$device", [all...] |
H A D | vhost_blk.sh | 211 device=$(create_device 0 $uuid | jq -r '.handle') 237 "device_handle": "$device", 268 "device_handle": "$device", 299 "device_handle": "$device", 318 "device_handle": "$device", 344 delete_device "$device"
|
/spdk/test/iscsi_tgt/filesystem/ |
H A D | filesystem.sh | 72 mkdir -p /mnt/device 92 mount /dev/${dev}1 /mnt/device 94 …fio -filename=/mnt/device/test -direct=1 -iodepth 64 -thread=1 -invalidate=1 -rw=randwrite -ioengi… 96 umount /mnt/device 106 mount -o rw /dev/${dev}1 /mnt/device 109 fio -filename=/mnt/device/test -direct=1 -iodepth 64 -thread=1 -invalidate=1 -rw=randread \ 116 rm -rf /mnt/device/test 117 umount /mnt/device 119 touch /mnt/device/aaa 120 umount /mnt/device [all …]
|
/spdk/proto/ |
H A D | sma.proto | 70 // Create device request 72 // Volume to immediately attach to the created device. This field may be 73 // optional for some device types (e.g. NVMe), while it may be required for 87 // Create device response 89 // Device handle that can uniquely identify a device within an instance of 94 // Delete device request 100 // Delete device response 127 // given device/volume, it must be set to 0. 148 // the QoS will be set up on the whole device (all volumes attached to that 149 // device will share QoS settings). Some device types might only support [all …]
|
/spdk/python/spdk/sma/ |
H A D | sma.py | 10 from .device import DeviceException 49 for device in self._devices.values(): 51 if device.owns_device(handle): 52 return device 96 device = self._find_device_by_handle(request.handle) 97 if device is None: 100 if not device.allow_delete_volumes and self._volume_mgr.has_volumes(request.handle): 103 device.delete_device(request) 125 device = self._find_device_by_handle(request.device_handle) 126 if device is None: [all …]
|
H A D | __init__.py | 12 from .device import DeviceException # noqa 13 from .device import DeviceManager # noqa 14 from .device import NvmfTcpDeviceManager # noqa 15 from .device import VhostBlkDeviceManager # noqa 16 from .device import NvmfVfioDeviceManager # noqa
|
/spdk/module/accel/dpdk_compressdev/ |
H A D | accel_dpdk_compressdev.c | 51 struct rte_compressdev_info cdev_info; /* includes device friendly name */ 52 uint8_t cdev_id; /* identifier for the device */ 62 /* Global list and lock for unique device/queue pair combos */ 64 struct compress_dev *device; /* ptr to compression device */ 73 char *drv_name; /* name of the compression device driver */ 121 /* Called by accel_init_compress_drivers() to init each discovered compression device */ in create_compress_dev() 125 struct compress_dev *device; in create_compress_dev() 132 device = calloc(1, sizeof(struct compress_dev)); in create_compress_dev() 133 if (!device) { in create_compress_dev() 63 struct compress_dev *device; /* ptr to compression device */ global() member 123 struct compress_dev *device; create_compress_dev() local 252 struct compress_dev *device; accel_init_compress_drivers() local 860 struct compress_dev *device; _device_unregister_cb() local [all...] |
/spdk/doc/ |
H A D | sma.md | 17 `sma.proto` file, while device-specific options are defined in their separate 23 and can exist even if it's not presented to the host system. A device is 25 capable of presenting one or more volumes (depending on the type of the device) 33 This method creates a device. If a device with given parameters already exists, 34 it becomes a no-op and returns a handle to that device. 39 created device. This field may be optional for some device types (e.g. NVMe), 42 crypto when attaching a volume to a device. Users must specify the crypto engine 46 the type of device to create. 50 - `handle`: Opaque handle identifying the device. 54 This method deletes a device. Volumes that are still attached to a device being [all …]
|
H A D | userspace.md | 7 foremost, a _driver_ is software that directly controls a particular device 16 with the hardware device that they are controlling. 18 In order for SPDK to take control of a device, it must first instruct the 20 the kernel driver from the device and on Linux is done by 22 SPDK then rebinds the driver to one of two special device drivers that come 27 system that the device has a driver bound to it so it won't automatically try 29 any way, nor do they even understand what type of device it is. The primary 36 Once the device is unbound from the operating system kernel, the operating 37 system can't use it anymore. For example, if you unbind an NVMe device on Linux, 39 means that filesystems mounted on the device will also be removed and kernel [all …]
|
H A D | bdev_pg.md | 10 A block device is a storage device that supports reading and writing data in 15 The block device layer consists of a single generic library in `lib/bdev`, 19 of block device. This guide will cover how to interact with bdevs using that 35 generic block device. struct spdk_bdev_desc, heretofore called a *descriptor*, 36 represents a handle to a given block device. Descriptors are used to establish 37 and track permissions to use the underlying block device, much like a file 38 descriptor on UNIX systems. Requests to the block device are asynchronous and 64 device object can be obtained by calling spdk_bdev_get_by_name(), or the entire 70 name to look up the block device. 74 In order to send I/O requests to a block device, it must first be opened by [all …]
|
/spdk/lib/idxd/ |
H A D | idxd_kernel.c | 60 struct accfg_device *device; in kernel_idxd_probe() local 70 accfg_device_foreach(ctx, device) { in kernel_idxd_probe() 77 dstate = accfg_device_get_state(device); in kernel_idxd_probe() 82 pasid_enabled = accfg_device_get_pasid_enabled(device); in kernel_idxd_probe() 100 kernel_idxd->max_batch_size = accfg_device_get_max_batch_size(device); in kernel_idxd_probe() 101 kernel_idxd->max_xfer_size = accfg_device_get_max_transfer_size(device); in kernel_idxd_probe() 102 kernel_idxd->idxd.socket_id = accfg_device_get_numa_node(device); in kernel_idxd_probe() 105 kernel_idxd->idxd.version = accfg_device_get_version(device); in kernel_idxd_probe() 111 accfg_wq_foreach(device, wq) { in kernel_idxd_probe() 134 major = accfg_device_get_cdev_major(device); in kernel_idxd_probe()
|
H A D | idxd_user.c | 20 struct spdk_pci_device *device; member 29 static struct spdk_idxd_device *idxd_attach(struct spdk_pci_device *device); 72 rc = spdk_pci_device_unmap_bar(user_idxd->device, 0, addr); in idxd_unmap_pci_bar() 84 rc = spdk_pci_device_map_bar(user_idxd->device, IDXD_MMIO_BAR, &addr, &phys_addr, &size); in idxd_map_pci_bars() 91 rc = spdk_pci_device_map_bar(user_idxd->device, IDXD_WQ_BAR, &addr, &phys_addr, &size); in idxd_map_pci_bars() 312 user_idxd->device->id.vendor_id, user_idxd->device->id.device_id); in idxd_device_configure() 337 spdk_pci_device_detach(user_idxd->device); in user_idxd_device_destruct() 506 idxd_attach(struct spdk_pci_device *device) in idxd_attach() argument 510 uint16_t did = device->id.device_id; in idxd_attach() 550 user_idxd->device = device; in idxd_attach() [all …]
|
/spdk/lib/nvmf/ |
H A D | rdma.c | 66 /* The request is ready to execute at the block device */ 69 /* The request is currently executing at the block device */ 72 /* The request finished executing at the block device */ 314 struct spdk_nvmf_rdma_device *device; 335 * recv queue. Should not exceed device->attr.max_queue_depth. 407 struct spdk_nvmf_rdma_device *device; 471 struct spdk_nvmf_rdma_device *device; 511 struct spdk_nvmf_rdma_device *device; 930 /* destroy cm_id last so cma device will not be freed before we destroy the cq. */ in nvmf_rdma_qpair_destroy() 939 nvmf_rdma_resize_cq(struct spdk_nvmf_rdma_qpair *rqpair, struct spdk_nvmf_rdma_device *device) in nvmf_rdma_resize_cq() 315 struct spdk_nvmf_rdma_device *device; global() member 408 struct spdk_nvmf_rdma_device *device; global() member 472 struct spdk_nvmf_rdma_device *device; global() member 512 struct spdk_nvmf_rdma_device *device; global() member 938 nvmf_rdma_resize_cq(struct spdk_nvmf_rdma_qpair * rqpair,struct spdk_nvmf_rdma_device * device) nvmf_rdma_resize_cq() argument 985 struct spdk_nvmf_rdma_device *device; nvmf_rdma_qpair_initialize() local 1476 nvmf_rdma_fill_wr_sgl(struct spdk_nvmf_rdma_device * device,struct spdk_nvmf_rdma_request * rdma_req,struct ibv_send_wr * wr,uint32_t total_length) nvmf_rdma_fill_wr_sgl() argument 1524 nvmf_rdma_fill_wr_sgl_with_dif(struct spdk_nvmf_rdma_device * device,struct spdk_nvmf_rdma_request * rdma_req,struct ibv_send_wr * wr,uint32_t total_length,uint32_t num_extra_wrs) nvmf_rdma_fill_wr_sgl_with_dif() argument 1640 nvmf_rdma_request_fill_iovs(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_device * device,struct spdk_nvmf_rdma_request * rdma_req) nvmf_rdma_request_fill_iovs() argument 1724 nvmf_rdma_request_fill_iovs_multi_sgl(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_device * device,struct spdk_nvmf_rdma_request * rdma_req) nvmf_rdma_request_fill_iovs_multi_sgl() argument 1845 nvmf_rdma_request_parse_sgl(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_device * device,struct spdk_nvmf_rdma_request * rdma_req) nvmf_rdma_request_parse_sgl() argument 2054 struct spdk_nvmf_rdma_device *device; nvmf_rdma_request_process() local 2490 nvmf_rdma_is_rxe_device(struct spdk_nvmf_rdma_device * device) nvmf_rdma_is_rxe_device() argument 2505 struct spdk_nvmf_rdma_device *device; create_ib_device() local 2605 struct spdk_nvmf_rdma_device *device, *tmp; generate_poll_fds() local 2635 struct spdk_nvmf_rdma_device *device; nvmf_rdma_create() local 2827 destroy_ib_device(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_device * device) destroy_ib_device() argument 2862 struct spdk_nvmf_rdma_device *device, *device_tmp; nvmf_rdma_destroy() local 2917 struct spdk_nvmf_rdma_device *device; nvmf_rdma_listen() local 3109 nvmf_rdma_manage_poller(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_device * device,bool * has_inflight,bool is_add) nvmf_rdma_manage_poller() argument 3183 struct spdk_nvmf_rdma_device *device, *tmp_device; nvmf_rdma_find_ib_device() local 3244 struct spdk_nvmf_rdma_device *device; nvmf_rdma_rescan_devices() local 3415 nvmf_rdma_can_ignore_last_wqe_reached(struct spdk_nvmf_rdma_device * device) nvmf_rdma_can_ignore_last_wqe_reached() argument 3561 nvmf_rdma_handle_device_removal(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_device * device) nvmf_rdma_handle_device_removal() argument 3781 nvmf_process_ib_event(struct spdk_nvmf_rdma_device * device) nvmf_process_ib_event() argument 3870 nvmf_process_ib_events(struct spdk_nvmf_rdma_device * device,uint32_t max_events) nvmf_process_ib_events() argument 3891 struct spdk_nvmf_rdma_device *device, *tmp; nvmf_rdma_accept() local 3977 nvmf_rdma_poller_create(struct spdk_nvmf_rdma_transport * rtransport,struct spdk_nvmf_rdma_poll_group * rgroup,struct spdk_nvmf_rdma_device * device,struct spdk_nvmf_rdma_poller ** out_poller) nvmf_rdma_poller_create() argument 4060 struct spdk_nvmf_rdma_device *device; _nvmf_rdma_register_poller_in_group() local 4083 struct spdk_nvmf_rdma_device *device; nvmf_rdma_poll_group_create() local 4279 struct spdk_nvmf_rdma_device *device; nvmf_rdma_poll_group_add() local 4811 struct spdk_nvmf_rdma_device *device, *device_tmp; _nvmf_rdma_remove_destroyed_device() local 4833 struct spdk_nvmf_rdma_device *device = ctx->device; _nvmf_rdma_remove_poller_in_group_cb() local [all...] |
/spdk/scripts/env_dpdk/22.11/ |
H A D | 23.11-rte_bus_pci.h.patch | 6 - * Check whether this device has a PCI capability list. 18 - * Find device's PCI capability. 29 - * within the device's PCI configuration space. 37 - * Find device's PCI capability starting from a previous offset in PCI 52 - * within the device's PCI configuration space. 60 * Find device's extended PCI capability. 70 * Enables/Disables Bus Master for device's PCI command register. 97 @@ -206,54 +135,6 @@ int rte_pci_read_config(const struct rte_pci_device *device, 98 int rte_pci_write_config(const struct rte_pci_device *device, 107 - * @param device [all …]
|
H A D | 23.07-rte_bus_pci.h.patch | 10 - * @param device 11 - * A pointer to a rte_pci_device structure describing the device 25 -int rte_pci_mmio_read(const struct rte_pci_device *device, int bar, 34 - * @param device 35 - * A pointer to a rte_pci_device structure describing the device 49 -int rte_pci_mmio_write(const struct rte_pci_device *device, int bar, 53 * Initialize a rte_pci_ioport object for a pci device io resource.
|
/spdk/lib/mlx5/ |
H A D | mlx5_crypto.c | 156 SPDK_ERRLOG("Failed to query dev %s, skipping\n", dev->device->name); in spdk_mlx5_crypto_devs_get() 160 SPDK_DEBUGLOG(mlx5, "dev %s is not Mellanox device, skipping\n", dev->device->name); in spdk_mlx5_crypto_devs_get() 164 if (!mlx5_crypto_dev_allowed(dev->device->name)) { in spdk_mlx5_crypto_devs_get() 170 SPDK_ERRLOG("Failed to query port attributes for device %s, rc %d\n", dev->device->name, rc); in spdk_mlx5_crypto_devs_get() 181 SPDK_ERRLOG("Failed to get VPORT context for device %s. Assuming ROCE is disabled\n", in spdk_mlx5_crypto_devs_get() 182 dev->device->name); in spdk_mlx5_crypto_devs_get() 188 SPDK_ERRLOG("Device %s, RoCE disabled\n", dev->device->name); in spdk_mlx5_crypto_devs_get() 196 SPDK_ERRLOG("Failed to query mlx5 dev %s, skipping\n", dev->device in spdk_mlx5_crypto_devs_release() [all...] |
/spdk/scripts/ |
H A D | common.sh | 8 # Check if PCI device is in PCI_ALLOWED and not in PCI_BLOCKED 10 # if PCI_ALLOWED is empty assume device is allowed 11 # if PCI_BLOCKED is empty assume device is NOT blocked 72 local pci=$1 class=$2 vendor=$3 device=$4 driver=$5 mod=$6 78 if [[ -n $vendor && -n $device ]]; then 79 vendor=0x${vendor/0x/} device=0x${device/0x/} 80 pci_bus_cache["$vendor:$device"]="${pci_bus_cache["$vendor:$device"]:+${pci_bus_cache["$vendor:$device"]} } [all...] |
/spdk/lib/env_dpdk/22.07/ |
H A D | rte_bus_pci.h | 67 struct rte_device device; /**< Inherit core device */ member 85 #define RTE_DEV_TO_PCI(ptr) container_of(ptr, struct rte_pci_device, device) 88 container_of(ptr, const struct rte_pci_device, device) 90 #define RTE_ETH_DEV_TO_PCI(eth_dev) RTE_DEV_TO_PCI((eth_dev)->device) 306 int rte_pci_read_config(const struct rte_pci_device *device, 322 int rte_pci_write_config(const struct rte_pci_device *device,
|
/spdk/test/nvmf/target/ |
H A D | filesystem.sh | 23 mount /dev/${nvme_name}p1 /mnt/device 24 touch /mnt/device/aaa 26 rm /mnt/device/aaa 30 while ! umount /mnt/device; do 66 mkdir -p /mnt/device
|
/spdk/scripts/ceph/ |
H A D | start.sh | 52 ${SGDISK} -c 1:osd-device-${partno}-journal ${dev} 53 ${SGDISK} -c 2:osd-device-${partno}-data ${dev} 73 mnt_pt=${mnt_dir}/osd-device-0-data 75 mkfs.xfs -f /dev/disk/by-partlabel/osd-device-0-data 76 mount /dev/disk/by-partlabel/osd-device-0-data ${mnt_pt} 79 osd journal = /dev/disk/by-partlabel/osd-device-0-journal 140 ceph -c ${ceph_conf} -i ${mnt_dir}/osd-device-${i}-data/keyring auth add osd.${i} osd "allow *" mon…
|
/spdk/python/spdk/spdkcli/ |
H A D | ui_node_iscsi.py | 71 for device in self.scsi_devices: 73 if hasattr(device, "device_name") and node['name'] \ 74 == device.device_name: 75 UIISCSIDevice(device, node, self) 134 for device in self.scsi_devices: 136 self.delete(device.device_name) 158 for device in self.scsi_devices: 160 if hasattr(device, "device_name") and node['name'] \ 161 == device.device_name: 167 def __init__(self, device, target, parent): argument [all …]
|