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

mTCP support for SPDK #287

Open
wants to merge 14 commits into
base: spdk_mtcp_dev
Choose a base branch
from

Conversation

qingmin-liu
Copy link

Add mTCP support for SPDK.

  1. add README.spdk for change summary.
  2. Add mTCP separated mtcp_run_instance API.
  3. Fix some issues about cross-compilation for arm64.
  4. Fix RSS issue for brcm stingray.
  5. Add a cross-compile script for arm64.

For spdk changes, we are preparing for upstream and when it's ready, will introduce submodule for spdk and give test case steps of nvmeotcp.

Thanks a lot.
Qingmin

Qingmin Liu and others added 14 commits January 9, 2020 14:25
rte_eth_dev_count is deprecated and use rte_eth_dev_count_avail instead.

Signed-off-by: Qingmin Liu <[email protected]>
- Use variable CROSS to specify toolchain prefix
- Use variable RTE_KERNELDIR to specify kernel build dir
  if RTE_KERNELDIR is not defined.

Signed-off-by: Qingmin Liu <[email protected]>
- If ARCH is not defined, retrieve it from system.
- Only x86_64 adds -m64

Signed-off-by: Qingmin Liu <[email protected]>
- If not it cannot find external lib

Signed-off-by: Qingmin Liu <[email protected]>
- Verified at ARM64 Platform.
- For dependencies, introduce ext_lib to specify the dir.

Signed-off-by: Qingmin Liu <[email protected]>
APP has already done initialization. However mtcp will call it again
and report error. It should be avoided otherwise APP will also exit
unexpectly.
1. Add --enable-spdk suppport.
2. Pass ENABLE_SPDK based on cfg.
Stingray has only 320-bit RSS key. So limit to 40B at the max.
…s compile

Specify ARCH/CROSS_COMPILE when build kernel module.
1. mtcp_destroy strict prototype
2. mtcp_read no inline
SPDK poller will register seperately with mtcp_run_instance.
Modify MTCPRunThread for SPDK scenario.
Introduce '-e' option to enable spdk.
- Disable spdk support without '-e'.
- Enable spdk support with '-e'.
Add README.spdk for mtcp+spdk integration.

Signed-off-by: Qingmin Liu <[email protected]>
- dpdk 19.11 added rte_ to some variables and struct.
- change it to support this.
@vitalif
Copy link

vitalif commented Jul 18, 2020

Hi, does that mean that you plan to upstream mTCP in SPDK?

@qingmin-liu
Copy link
Author

In fact I want but brcm may have another upstream policy and will review internally.

@vitalif
Copy link

vitalif commented Aug 5, 2020

In fact I want but brcm may have another upstream policy and will review internally.

Don't do that :D to me, mTCP seems like a toy project. See #306

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