History log of /spdk/lib/bdev/Makefile (Results 1 – 25 of 63)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v25.01-rc1, v24.09, v25.01-pre, v24.09-rc1
# 63e0c25d 12-Sep-2024 Vasilii Ivanov <iwanovvvasilij@gmail.com>

bdev: add reset_mode to bdev_get_iostat

In current implementation of resetting stats explicit bdev_reset_iostat
call is needed. It is not optimal for usecases
when stat is obtained periodically and

bdev: add reset_mode to bdev_get_iostat

In current implementation of resetting stats explicit bdev_reset_iostat
call is needed. It is not optimal for usecases
when stat is obtained periodically and then resetted, because
some stats may be lost in between of get and reset.
Introduce new option for bdev_get_iostat that allows to reset stat
right after obtaining it.

Fixes #3525

Change-Id: I77a5ea9310718c25e678336e2450a04fb582c050
Signed-off-by: Vasilii Ivanov <iwanovvvasilij@gmail.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24900
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# f3cef5e1 12-Jun-2024 Atul Malakar <a.malakar@samsung.com>

bdev: Add bdev_enable_histogram filter

Added new --opc parameter to bdev_enable_histogram RPC.
It facilitates user to capture histogram data points for the specified
IO type.

Refer to bdev_get_bde

bdev: Add bdev_enable_histogram filter

Added new --opc parameter to bdev_enable_histogram RPC.
It facilitates user to capture histogram data points for the specified
IO type.

Refer to bdev_get_bdevs RPC for list of io types.

Change-Id: I3b70296ae32adc80f894e19426af22da0ac70802
Signed-off-by: Atul Malakar <a.malakar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23488
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# db8a9711 12-Jun-2024 Atul Malakar <a.malakar@samsung.com>

bdev: Add helper function to get IO type strings

A helper function spdk_bdev_get_io_type_name and
string array g_io_type_strings is added to translate
spdk_bdev_io_type enum to string value.

Change

bdev: Add helper function to get IO type strings

A helper function spdk_bdev_get_io_type_name and
string array g_io_type_strings is added to translate
spdk_bdev_io_type enum to string value.

Change-Id: Ie787eb2c7c170ba2e3ba01d492ca8628a0d4f976
Signed-off-by: Atul Malakar <a.malakar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23660
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


Revision tags: v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01
# 61623c5c 25-Jan-2024 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: add spdk_bdev_io padding in place of io_submit_ch

Commit 055de83ac ("bdev: multiple QoS queues with atomic-based QoS
quota") changed the way bdev layer handles IOs with QoS enabled. It
should

bdev: add spdk_bdev_io padding in place of io_submit_ch

Commit 055de83ac ("bdev: multiple QoS queues with atomic-based QoS
quota") changed the way bdev layer handles IOs with QoS enabled. It
shouldn't affect IOs when QoS is disabled. However, apparently, this
change *has* shown performance drop on some workloads. Specifically,
single core bdepverf performance running on 7 Kioxia KCM61VUL3T20 drives
with qd=192 went down from ~5.9M to ~5.4M.

As part of that commit, the layout of struct spdk_bdev_io has been
changed due to removing io_submit_ch. Re-adding the padding in place of
that field has proven to improve IOPS in the case mentioned above from
~5.3M (current master) to ~5.7M. This patch does exactly that, but we
should look into the layout of this structure more thoroughly in the
future.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I35a04b93bec54620a6a2c8f1133870f5f101eda9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21576
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


Revision tags: v24.05-pre, v24.01-rc1
# b2a154ea 08-Dec-2023 Michal Berger <michal.berger@intel.com>

mk: Shuffle compiler opts for VTune

Change-Id: I841cf2e055b744020c641f496936a6a9c022a2c1
Signed-off-by: Alexey Kireev <alexey.kireev@intel.com>
Signed-off-by: Michal Berger <michal.berger@intel.com>

mk: Shuffle compiler opts for VTune

Change-Id: I841cf2e055b744020c641f496936a6a9c022a2c1
Signed-off-by: Alexey Kireev <alexey.kireev@intel.com>
Signed-off-by: Michal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20967
Reviewed-by: Ben Walker <ben@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


Revision tags: v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1
# 055de83a 02-Mar-2023 Anton Nayshtut <anayshtut@nvidia.com>

bdev: multiple QoS queues with atomic-based QoS quota

Here's a comparison of the legacy and the atomic-based QoS.

Tested with bdevperf + 1 null or malloc bdev. When the Qos is enabled
the limit set

bdev: multiple QoS queues with atomic-based QoS quota

Here's a comparison of the legacy and the atomic-based QoS.

Tested with bdevperf + 1 null or malloc bdev. When the Qos is enabled
the limit set to the value higher than the setup is capable of achieving
(900.000.000 IOPs).

| bdev | CPU | No QoS | Legacy QoS | Atomic QoS | LP | AP |
| | Mask | | (IOPS) | (IOPS) | (%) | (%) |
|--------|------|--------------|------------|-------------|-----|-----|
| null | 1 | 10807210.39 | 8720802.93 | 8883633.79 | 19 | 18 |
| null | 3 | 21065293.41 | 7798114.51 | 8605514.14 | 63 | 59 |
| null | 7 | 31941220.35 | 8026022.82 | 11057120.85 | 75 | 65 |
| null | F | 42510017.40 | 7655892.00 | 11832259.16 | 82 | 72 |
| null | FF | 80864836.44 | 7598421.52 | 13096449.71 | 91 | 84 |
| null | FFF | 121780455.70 | 7609117.22 | 11030412.77 | 94 | 91 |
| null | FFFF | 162071300.70 | 7558077.12 | 10826030.57 | 95 | 93 |
| malloc | 1 | 1948096.14 | 1863817.94 | 1881245.75 | 4 | 3 |
| malloc | 3 | 3803549.11 | 2068897.67 | 3155528.57 | 46 | 17 |
| malloc | 7 | 5593798.24 | 2227017.22 | 4387343.78 | 60 | 22 |
| malloc | F | 7231720.95 | 2281762.70 | 5797832.38 | 68 | 20 |
| malloc | FF | 12070891.12 | 2614674.11 | 9690367.72 | 78 | 20 |
| malloc | FFF | 13989626.48 | 2630881.18 | 12840411.99 | 81 | 8 |
| malloc | FFFF | 14405443.97 | 2600775.13 | 9992956.98 | 82 | 31 |

Change-Id: Ia91706b761e085b4231a2fb9a08565c305735b7d
Signed-off-by: Anton Nayshtut <anayshtut@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18914
Reviewed-by: Ben Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# 01ccef6e 15-Nov-2023 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: allow bdevs to specify max size of IOs

There are cases when a bdev module needs to limit the maximum size of an
IO to a certain value (e.g. large iobuf if it needs to allocate a bounce
buffer)

bdev: allow bdevs to specify max size of IOs

There are cases when a bdev module needs to limit the maximum size of an
IO to a certain value (e.g. large iobuf if it needs to allocate a bounce
buffer).

Previously, this was covered by specifying optimal_io_boundary and
setting the split_on_optimal_io_boundary flag. However, this can be
inefficient, as it'll also split smaller requests that do not exceed the
maximum size, but cross the boundary. For instance, with
optimal_io_boundary=4, an IO with offset_blocks=3, num_blocks=2 will be
split.

To avoid that, a new field, max_rw_size, is introduced to allow for
specifying the maximum size of an IO without taking into account
offset_blocks. It only affects READ and WRITE requests, as other IO
types are already controlled by other values (e.g. max_unmap, max_copy,
max_write_zeroes).

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Idcafdeaf22a34f25aa599f03726caa9307949e1f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20584
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# 09fe539b 05-Jun-2023 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: track IOs with accel sequence with an extra flag

We already have u.bdev.accel_sequence and internal.accel_sequence, but
both of them can be cleared in different cases. The former is cleared
w

bdev: track IOs with accel sequence with an extra flag

We already have u.bdev.accel_sequence and internal.accel_sequence, but
both of them can be cleared in different cases. The former is cleared
when a bdev doesn't support accel or by the module itself to notify bdev
layer that it executed the sequence. The latter is cleared before
submitting a request to a module supporting accel, so that bdev layer
won't touch it again.

However, there are cases where it's necessary to know whether an IO was
associated with an accel sequence and a module has executed it (e.g. to
allow modules support accel without supporting memory domains), so an
extra flag is required.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I58ec789cce84b63151d02e28a0bb3d3bbf85f7bf
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18771
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>

show more ...


Revision tags: v23.01
# 3359bf34 23-Jan-2023 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

so_ver: increase all major versions

To allow SO_MINOR updates on LTS for the whole year it is supported,
the major version for all components needs to be increased.
This is to prevent scenario where

so_ver: increase all major versions

To allow SO_MINOR updates on LTS for the whole year it is supported,
the major version for all components needs to be increased.
This is to prevent scenario where two versions exists with matching
versions, but conflicting ABI.
Ex. Next SPDK release adds an API call increasing the minor version,
then LTS needs just a subset of those additions.

Increasing major so version after LTS, allows the future releases
to update versions as needed. Yet allowing LTS to increase minor
version separately.

Disabled test for increasing SO version without ABI change, as
that is goal of this patch. This check shall be removed with SPDK 23.05
release.
Looks like this was left over from prior LTS, to avoid that
make sure it is only skipped when running against v23.01.x as latest
release.

This patch:
- increases SO_VER by 1 for all components
- resets SO_MINOR to 0 for all components
- removes suppressions for ABI tests


Short reference to how the versions were changed:
MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1)
for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \
sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; done
find . -name "Makefile" -exec \
sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +

Change-Id: I3e5681802c0a5ac6d7d652a18896997cd07cc8bf
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16419
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


Revision tags: v23.05-pre, v23.01-rc1, v22.01.2
# a6dbe372 01-Nov-2022 paul luse <paul.e.luse@intel.com>

update Intel copyright notices

per Intel policy to include file commit date using git cmd
below. The policy does not apply to non-Intel (C) notices.

git log --follow -C90% --format=%ad --date defa

update Intel copyright notices

per Intel policy to include file commit date using git cmd
below. The policy does not apply to non-Intel (C) notices.

git log --follow -C90% --format=%ad --date default <file> | tail -1

and then pull just the 4 digit year from the result.

Intel copyrights were not added to files where Intel either had
no contribution ot the contribution lacked substance (ie license
header updates, formatting changes, etc). Contribution date used
"--follow -C95%" to get the most accurate date.

Note that several files in this patch didn't end the license/(c)
block with a blank comment line so these were added as the vast
majority of files do have this last blank line. Simply there for
consistency.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Mellanox Build Bot

show more ...


Revision tags: v22.09, v23.01-pre, v22.09-rc1
# d14afd50 22-Aug-2022 Evgeniy Kochetov <evgeniik@nvidia.com>

bdev: Add copy IO type

Copy operation is defined by source and destination LBAs and LBA count
to copy. For destiantion LBA and LBA count we reuse exiting fields
`offset_blocks` and `num_blocks` in `

bdev: Add copy IO type

Copy operation is defined by source and destination LBAs and LBA count
to copy. For destiantion LBA and LBA count we reuse exiting fields
`offset_blocks` and `num_blocks` in `struct spdk_bdev_io`. For source
LBA new field `src_offset_blocks` was added.

`spdk_bdev_get_max_copy()` function can be used to retrieve maximum
possible unsplit copy size. Zero values means unlimited. It is allowed
to submit larger copy size but it will be split into several bdev IOs.

Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com>
Change-Id: I2ad56294b6c062595c026ffcf9b435f0100d3d7e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14344
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Mellanox Build Bot

show more ...


# f0494649 22-Sep-2022 GangCao <gang.cao@intel.com>

Lib/Bdev: add the new API spdk_bdev_for_each_channel

And also related function pointers and APIs:
spdk_bdev_for_each_channel_msg;
spdk_bdev_for_each_channel_done;
spdk_bdev_for_each_channel_conti

Lib/Bdev: add the new API spdk_bdev_for_each_channel

And also related function pointers and APIs:
spdk_bdev_for_each_channel_msg;
spdk_bdev_for_each_channel_done;
spdk_bdev_for_each_channel_continue;

Change-Id: I52f0f6f27717d53c238faf2f998810c9c5ee45d4
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14614
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot

show more ...


# 48ce2c97 11-Jun-2022 GangCao <gang.cao@intel.com>

Bdev: remove the QD poller at the time of Bdev unregister

Fix issue: #2561

The issue here is that in the bdev_set_qd_sampling_period RPC
command, the QD sampling period has been set. Then later the

Bdev: remove the QD poller at the time of Bdev unregister

Fix issue: #2561

The issue here is that in the bdev_set_qd_sampling_period RPC
command, the QD sampling period has been set. Then later the
related Desc is closed and in the bdev_close() function the
QD sampling period is reset to 0.

A new QD desc is added as the QD sampling period update could
be handled properly.

Meanwhile, a new QD Poll In Progress flag is also added so as
to indicate there are ongoing events of QD sampling and the
Bdev unregister will be handled in the proper way.

Related test case and unit test also updated for this change.

Change-Id: Iac86c2c6447fe338c7480cf468897fc8f41f8741
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13016
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot

show more ...


# 488570eb 03-Jun-2022 Jim Harris <james.r.harris@intel.com>

Replace most BSD 3-clause license text with SPDX identifier.

Many open source projects have moved to using SPDX identifiers
to specify license information, reducing the amount of
boilerplate code in

Replace most BSD 3-clause license text with SPDX identifier.

Many open source projects have moved to using SPDX identifiers
to specify license information, reducing the amount of
boilerplate code in every source file. This patch replaces
the bulk of SPDK .c, .cpp and Makefiles with the BSD-3-Clause
identifier.

Almost all of these files share the exact same license text,
and this patch only modifies the files that contain the
most common license text. There can be slight variations
because the third clause contains company names - most say
"Intel Corporation", but there are instances for Nvidia,
Samsung, Eideticom and even "the copyright holder".

Used a bash script to automate replacement of the license text
with SPDX identifier which is checked into scripts/spdx.sh.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Iaa88ab5e92ea471691dc298cfe41ebfb5d169780
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12904
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: <qun.wan@intel.com>

show more ...


Revision tags: v22.05, v22.09-pre, v22.05-rc1, v22.01.1
# 047c067c 31-Jan-2022 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

so_ver: increase all major versions

To allow SO_MINOR updates on LTS for the whole year it is supported,
the major version for all components needs to be increased.
This is to prevent scenario where

so_ver: increase all major versions

To allow SO_MINOR updates on LTS for the whole year it is supported,
the major version for all components needs to be increased.
This is to prevent scenario where two versions exists with matching
versions, but conflicting ABI.
Ex. Next SPDK release adds an API call increasing the minor version,
then LTS needs just a subset of those additions.

Increasing major so version after LTS, allows the future releases
to update versions as needed. Yet allowing LTS to increase minor
version separately.

Disabled test for increasing SO version without ABI change, as
that is goal of this patch. This check shall be removed with SPDK 22.05
release.

This patch:
- increases SO_VER by 1 for all components
- resets SO_MINOR to 0 for all components
- removes suppressions for ABI tests

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Id1a5358882dc496faa5b0b5c9a63b326c378c551
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11361
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


Revision tags: v22.01, v22.01-rc1
# b7ad5b0b 11-Nov-2021 Niklas Cassel <niklas.cassel@wdc.com>

bdev/zone: add support for get zone id

In the bdev-zone API, there are a few functions that takes a zone_id:
spdk_bdev_get_zone_info(), spdk_bdev_zone_management(), and the
spdk_bdev_zone_append() f

bdev/zone: add support for get zone id

In the bdev-zone API, there are a few functions that takes a zone_id:
spdk_bdev_get_zone_info(), spdk_bdev_zone_management(), and the
spdk_bdev_zone_append() functions.

The way a zoned application is usually written is that it starts off
by getting the zone report for all zones (zone_id will be sent in as 0),
and then the application will keep the whole zone report in memory.

Therefore, an application usually have access to the zone_id/zslba for
all zones. However, there are cases, e.g. when getting an error on write,
where the completion callback will only have the lba of the write that
failed.

Add a helper function that can be used to get the zone_id/slba for a
given lba. Having this helper in bdev-zone will avoid SPDK applications
needing to provide their own implementation for this.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: I978335f87f7d49bc33aed81afcaa6d9f0af8a1e4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10180
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


Revision tags: v21.10, v21.10-rc1
# c3a58489 06-Aug-2021 Alexey Marchuk <alexeymar@mellanox.com>

bdev: Add API to get SPDK memory domains used by bdev

Change-Id: Ic9f42eff59bdc4c8c6e73deb76b3eecfc04f80a8
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/

bdev: Add API to get SPDK memory domains used by bdev

Change-Id: Ic9f42eff59bdc4c8c6e73deb76b3eecfc04f80a8
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6268
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>

show more ...


Revision tags: v21.07, v21.07-rc1, v21.04, v21.04-rc1
# 6cebe9d0 09-Apr-2021 Swapnil Ingle <swapnil.ingle@nutanix.com>

nvmf: Support physical block size if exposed by bdev

(Note: this patch was previously applied as b32cfc46 and then reverted
as 63642bef.)

Today the in-guest nvme device shows physical_block_size=51

nvmf: Support physical block size if exposed by bdev

(Note: this patch was previously applied as b32cfc46 and then reverted
as 63642bef.)

Today the in-guest nvme device shows physical_block_size=512 even though
the backend iSCSI bdev supports physical_block_size=4K

iSCSI targets exposes physical block size using
logical_block_per_physical_block_exponent in READ_CAPACITY_16

NPWG is one of the way to let Linux nvme driver set
physical_block_size of the nvme block device.

This patch adds spdk_bdev.phys_blocklen which is updated if the iSCSI
backend exposes physical_block_size.
Later phys_blocklen is used in nvmf to set NPWG and NAWUPF to report
back during NS identity.
Linux driver uses min(nawupf, npwg) to set physical_block_size.

Similarly in scsi_bdev fill lbppbe in READ_CAP16 response
based on spdk_bdev.phys_blocklen.

Fixes #1884

Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
Change-Id: I0b6c81f1937e346d448f49c927eda8c79d2d75c0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7739
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...


Revision tags: v21.01.1, v21.01
# e4070ee0 29-Jan-2021 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

so_ver: increase all major versions

To allow SO_MINOR updates on LTS for the whole year it is supported,
the major version for all components needs to be increased.
This is to prevent scenario where

so_ver: increase all major versions

To allow SO_MINOR updates on LTS for the whole year it is supported,
the major version for all components needs to be increased.
This is to prevent scenario where two versions exists with matching
versions, but conflicting ABI.
Ex. Next SPDK release adds an API call increasing the minor version,
then LTS needs just a subset of those additions.

Increasing major so version after LTS, allows the quarterly releases
to update versions as needed. Yet allowing LTS to increase minor
version separately.

Disabled test for increasing SO version without ABI change, as
that is goal of this patch. This check shall be removed with SPDK 21.04
release.

This patch:
- increases SO_VER by 1 for all components
- resets SO_MINOR to 0 for all components
- removes suppressions for ABI tests

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I44d01154430a074103bd21c7084f44932e81fe72
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6167
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...


Revision tags: v21.01-rc1, v20.10, v20.10-rc1
# da625683 12-Oct-2020 Jin Yu <jin.yu@intel.com>

bdev: virtio blk read max size and segs

The backend device such as virtio-blk or virtio-scsi
may support the SIZE_MAX and SEG_MAX. Then SPDK needs
to split the big IO. Add this feature in bdev.

Cha

bdev: virtio blk read max size and segs

The backend device such as virtio-blk or virtio-scsi
may support the SIZE_MAX and SEG_MAX. Then SPDK needs
to split the big IO. Add this feature in bdev.

Change-Id: I2442e14121ccf141682964425e96382fec482af3
Signed-off-by: Jin Yu <jin.yu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4600
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...


# 0119b36b 01-Dec-2020 Karol Latecki <karol.latecki@intel.com>

lib/bdev: increase SO_MINOR to 1

This was omitted in 296a6d98389b7cbf95f57fc05c3565c2d65229e5
and is currently causing ABI inconsistencies.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Ch

lib/bdev: increase SO_MINOR to 1

This was omitted in 296a6d98389b7cbf95f57fc05c3565c2d65229e5
and is currently causing ABI inconsistencies.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: Ifb5b2360ff1ffbaffdc3b5d057047d035b98d909
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5368
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# 28ebb8cc 15-Oct-2020 Tomasz Zawadzki <tomasz.zawadzki@intel.com>

bdev_module: remove config_text

This patch removes function for bdev modules to
present options of the bdevs.

blob_bdev.h refers to the spdk_bdev_module, so would need
to be bumped too.
At this tim

bdev_module: remove config_text

This patch removes function for bdev modules to
present options of the bdevs.

blob_bdev.h refers to the spdk_bdev_module, so would need
to be bumped too.
At this time spdk_bdev_module is left unchanged to prevent
that.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I3cacb087c998d928c5d8c2722b7f041d82bb43f1
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4748
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI

show more ...


Revision tags: v20.07, v20.07-rc1
# 2d30df9b 06-Jul-2020 yupeng <yupeng0921@gmail.com>

bdev: add bdev_examine_bdev API

The bdev_examine_bdev api will examine a bdev explicitly. After
disabling the auto_examine feature, a user could call
bdev_examine_bdev to examine a specific bdev he/

bdev: add bdev_examine_bdev API

The bdev_examine_bdev api will examine a bdev explicitly. After
disabling the auto_examine feature, a user could call
bdev_examine_bdev to examine a specific bdev he/she wants.

Signed-off-by: Peng Yu <yupeng0921@gmail.com>
Change-Id: Ifbbfb6f667287669ddf6175b8208efee39762933
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3219
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


Revision tags: v20.04.1, v20.01.2
# 6f97efb7 27-May-2020 Seth Howell <seth.howell@intel.com>

test/make: add leaf type changes check to check_so_deps.

This is an important aspect of ABI versioning.

There was a change to the spdk_bdev_opts struct
which is accessible from the public API that

test/make: add leaf type changes check to check_so_deps.

This is an important aspect of ABI versioning.

There was a change to the spdk_bdev_opts struct
which is accessible from the public API that results
in an ABI change.

There was also a change in the spdk_accel_module_if struct that
will affect new modules so its major version needs to be revved.

There was also a change in the publically accessible rmda_hooks
structure which forced an ABI change in the NVMe library.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Change-Id: I5cc6886fe01b4adc2836b6e15995471f0361dc29
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2663
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


# d18e6320 10-May-2020 Seth Howell <seth.howell@intel.com>

mk/lib: add a check that major and minor version is set for libs.

Also, while we are here, consolidate setting SO_SUFFIX to one spot.

Previously, it was possible for a library to slip through
witho

mk/lib: add a check that major and minor version is set for libs.

Also, while we are here, consolidate setting SO_SUFFIX to one spot.

Previously, it was possible for a library to slip through
without an SO version.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Change-Id: I4db5fa5839502d266c6259892e5719b05134518c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2361
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


123