Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nvme/opts: parse timeouts in humantime #1548

Merged
merged 8 commits into from
Nov 24, 2023
Merged

Conversation

tiagolobocastro
Copy link
Contributor

@tiagolobocastro tiagolobocastro commented Nov 23, 2023

ci(bors): add fake DCO for bors merge requests

DCO is already validated on PR and bors itself does not need it as it's a bot..

Signed-off-by: Tiago Castro <[email protected]>

fix(nvme/opts): remove outdated async parameter

Remove unused NVME_QPAIR_CONNECT_ASYNC opts parameter and add
generated uuid parameter.

Signed-off-by: Tiago Castro <[email protected]>

fix(nvme/kato): adjust to spdk minimum

SPDK minimum KATO is 10s, so setting 1s is pointless.
Also the spec does suggest setting a sufficiently high KATO on a fabric, so perhaps
we might want to consider increasing it in the future.

Signed-off-by: Tiago Castro <[email protected]>

fix(iobuf): increase large iobuf pool size

Addresses warning from spdk itself:
mayastor::spdk:transport.c:282]
The num_shared_buffers value (2048) is larger than the available iobuf pool size (1024).
 Please increase the iobuf pool sizes.

Also reduce size to power of 2 - 1 as recommended in spdk ticket:
It’s always best to specify a value for –n that is one less than a power of two (2^x -1)
because of the way rings work in DPDK. You end up allocating a ring twice the size for
the one extra element between 511 and 512 for example.

Signed-off-by: Tiago Castro <[email protected]>

chore: silence flush not supported IO

We don't keep any caching, so we don't actually need to make use of it anyway.
TODO: do we need to even send flush?

Signed-off-by: Tiago Castro <[email protected]>

chore: show starting configuration as info

Signed-off-by: Tiago Castro <[email protected]>

feat(nvme/opts): parse timeouts in humantime

This allows us to specify, for example, NVME_TIMEOUT=60s

Signed-off-by: Tiago Castro <[email protected]>

Copy link
Member

@Abhinandan-Purkait Abhinandan-Purkait left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

io-engine/src/subsys/config/mod.rs Show resolved Hide resolved
This allows us to specify, for example, NVME_TIMEOUT=60s

Signed-off-by: Tiago Castro <[email protected]>
We don't keep any caching, so we don't actually need to make use of it anyway.
TODO: do we need to even send flush?

Signed-off-by: Tiago Castro <[email protected]>
Addresses warning from spdk itself:
mayastor::spdk:transport.c:282]
The num_shared_buffers value (2048) is larger than the available iobuf pool size (1024).
 Please increase the iobuf pool sizes.

Also reduce size to power of 2 - 1 as recommended in spdk ticket:
It’s always best to specify a value for –n that is one less than a power of two (2^x -1)
because of the way rings work in DPDK. You end up allocating a ring twice the size for
the one extra element between 511 and 512 for example.

Signed-off-by: Tiago Castro <[email protected]>
SPDK minimum KATO is 10s, so setting 1s is pointless.
Also the spec does suggest setting a sufficiently high KATO on a fabric, so perhaps
we might want to consider increasing it in the future.

Signed-off-by: Tiago Castro <[email protected]>
@tiagolobocastro
Copy link
Contributor Author

bors merge

bors-openebs-mayastor bot pushed a commit that referenced this pull request Nov 24, 2023
1548: nvme/opts: parse timeouts in humantime r=tiagolobocastro a=tiagolobocastro

    fix(nvme/kato): adjust to spdk minimum
    
    SPDK minimum KATO is 10s, so setting 1s is pointless.
    Also the spec does suggest setting a sufficiently high KATO on a fabric, so perhaps
    we might want to consider increasing it in the future.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    fix(iobuf): increase large iobuf pool size
    
    Addresses warning from spdk itself:
    mayastor::spdk:transport.c:282]
    The num_shared_buffers value (2048) is larger than the available iobuf pool size (1024).
     Please increase the iobuf pool sizes.

    Also reduce size to power of 2 - 1 as recommended in spdk ticket:
    It’s always best to specify a value for –n that is one less than a power of two (2^x -1)
    because of the way rings work in DPDK. You end up allocating a ring twice the size for
    the one extra element between 511 and 512 for example.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    chore: silence flush not supported IO
    
    We don't keep any caching, so we don't actually need to make use of it anyway.
    TODO: do we need to even send flush?
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    chore: show starting configuration as info
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    feat(nvme/opts): parse timeouts in humantime
    
    This allows us to specify, for example, NVME_TIMEOUT=60s
    
    Signed-off-by: Tiago Castro <[email protected]>


Co-authored-by: Tiago Castro <[email protected]>
@tiagolobocastro
Copy link
Contributor Author

bors cancel

@bors-openebs-mayastor
Copy link

Canceled.

Remove unused NVME_QPAIR_CONNECT_ASYNC opts parameter and add
generated uuid parameter.

Signed-off-by: Tiago Castro <[email protected]>
@tiagolobocastro
Copy link
Contributor Author

bors merge

bors-openebs-mayastor bot pushed a commit that referenced this pull request Nov 24, 2023
1548: nvme/opts: parse timeouts in humantime r=tiagolobocastro a=tiagolobocastro

    fix(nvme/kato): adjust to spdk minimum
    
    SPDK minimum KATO is 10s, so setting 1s is pointless.
    Also the spec does suggest setting a sufficiently high KATO on a fabric, so perhaps
    we might want to consider increasing it in the future.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    fix(iobuf): increase large iobuf pool size
    
    Addresses warning from spdk itself:
    mayastor::spdk:transport.c:282]
    The num_shared_buffers value (2048) is larger than the available iobuf pool size (1024).
     Please increase the iobuf pool sizes.

    Also reduce size to power of 2 - 1 as recommended in spdk ticket:
    It’s always best to specify a value for –n that is one less than a power of two (2^x -1)
    because of the way rings work in DPDK. You end up allocating a ring twice the size for
    the one extra element between 511 and 512 for example.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    chore: silence flush not supported IO
    
    We don't keep any caching, so we don't actually need to make use of it anyway.
    TODO: do we need to even send flush?
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    chore: show starting configuration as info
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    feat(nvme/opts): parse timeouts in humantime
    
    This allows us to specify, for example, NVME_TIMEOUT=60s
    
    Signed-off-by: Tiago Castro <[email protected]>


Co-authored-by: Tiago Castro <[email protected]>
DCO is already validated on PR and bors itself does not need it as it's a bot..

Signed-off-by: Tiago Castro <[email protected]>
@tiagolobocastro
Copy link
Contributor Author

bors merge

bors-openebs-mayastor bot pushed a commit that referenced this pull request Nov 24, 2023
1548: nvme/opts: parse timeouts in humantime r=tiagolobocastro a=tiagolobocastro

    ci(bors): add fake DCO for bors merge requests
    
    DCO is already validated on PR and bors itself does not need it as it's a bot..
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    fix(nvme/opts): remove outdated async parameter
    
    Remove unused NVME_QPAIR_CONNECT_ASYNC opts parameter and add
    generated uuid parameter.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    fix(nvme/kato): adjust to spdk minimum
    
    SPDK minimum KATO is 10s, so setting 1s is pointless.
    Also the spec does suggest setting a sufficiently high KATO on a fabric, so perhaps
    we might want to consider increasing it in the future.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    fix(iobuf): increase large iobuf pool size
    
    Addresses warning from spdk itself:
    mayastor::spdk:transport.c:282]
    The num_shared_buffers value (2048) is larger than the available iobuf pool size (1024).
     Please increase the iobuf pool sizes.

    Also reduce size to power of 2 - 1 as recommended in spdk ticket:
    It’s always best to specify a value for –n that is one less than a power of two (2^x -1)
    because of the way rings work in DPDK. You end up allocating a ring twice the size for
    the one extra element between 511 and 512 for example.
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    chore: silence flush not supported IO
    
    We don't keep any caching, so we don't actually need to make use of it anyway.
    TODO: do we need to even send flush?
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    chore: show starting configuration as info
    
    Signed-off-by: Tiago Castro <[email protected]>

---

    feat(nvme/opts): parse timeouts in humantime
    
    This allows us to specify, for example, NVME_TIMEOUT=60s
    
    Signed-off-by: Tiago Castro <[email protected]>


Co-authored-by: Tiago Castro <[email protected]>
@tiagolobocastro
Copy link
Contributor Author

Had to enable DCO from any source...
bors merge

@bors-openebs-mayastor
Copy link

Build succeeded:

@bors-openebs-mayastor bors-openebs-mayastor bot merged commit 8212046 into develop Nov 24, 2023
6 checks passed
@bors-openebs-mayastor bors-openebs-mayastor bot deleted the humantime branch November 24, 2023 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants