[dpdk-dev] [RFC PATCH 0/7] add OSv support
Bruce Richardson
bruce.richardson at intel.com
Fri Mar 13 11:00:07 CET 2015
On Fri, Mar 13, 2015 at 06:05:41AM +0900, Takuya ASADA wrote:
> Hi DPDK developers,
>
> I'd like to contribute a new EAL to support our open-sourced operating system called "OSv".
> It is a new operating system build from scratch for cloud computing, to run application faster with lower footprint on IaaS.
> Unlike general propose OS, it is a library OS designed to run single application per one instance, everything run in kernel mode, single memory space.
> It's not using Linux kernel but has compatibility with Linux application, not perfect but we already supported various applications such as Cassandra, memcached, Redis, etc.
>
> In DPDK case, PMDs can access devices directly, without kernel driver help.
> At this point I haven't enough optimized performance of the EAL yet, but it has potential to get better performance than Linux with fewer resources.
>
> OSv web site: http://osv.io
> USENIX ATC'14 paper: https://www.usenix.org/conference/atc14/technical-sessions/presentation/kivity
This sounds really interesting. Any chance of adding in a "Getting Started Guide"
with your patchset to make it easy for us to try out DPDK on OSv?
>
> Takuya ASADA (7):
> mk: support compiling C++ code
> eal: Add extern C on eal_hugepages.h
> eal: Add extern C on eal_thread.h
> eal: Add extern C on eal_private.h
> add OSv support
> virtio: enable MSI-X on OSv
> app/test: support OSv
>
> app/test/test_eal_flags.c | 34 +--
> app/test/test_timer_perf.c | 2 +-
> config/{common_linuxapp => common_osvapp} | 20 +-
> ...xapp-gcc => defconfig_x86_64-native-osvapp-gcc} | 2 +-
> lib/librte_eal/Makefile | 2 +
> lib/librte_eal/common/eal_hugepages.h | 8 +
> lib/librte_eal/common/eal_private.h | 8 +
> lib/librte_eal/common/eal_thread.h | 8 +
> Makefile => lib/librte_eal/osvapp/Makefile | 5 +-
> lib/librte_eal/osvapp/eal/Makefile | 115 ++++++++
> lib/librte_eal/{linuxapp => osvapp}/eal/eal.c | 123 +-------
> .../{linuxapp => osvapp}/eal/eal_alarm.c | 0
> .../{linuxapp => osvapp}/eal/eal_debug.c | 0
> lib/librte_eal/osvapp/eal/eal_hugepage_info.cc | 63 +++++
> .../{bsdapp => osvapp}/eal/eal_interrupts.c | 0
> .../eal/eal_lcore.c => osvapp/eal/eal_lcore.cc} | 53 ++--
> lib/librte_eal/{bsdapp => osvapp}/eal/eal_log.c | 0
> lib/librte_eal/osvapp/eal/eal_memory.cc | 148 ++++++++++
> lib/librte_eal/osvapp/eal/eal_pci.cc | 311 +++++++++++++++++++++
> .../{linuxapp => osvapp}/eal/eal_thread.c | 0
> lib/librte_eal/osvapp/eal/eal_timer.c | 121 ++++++++
> .../eal/include/exec-env/rte_interrupts.h | 0
> lib/librte_pmd_virtio/virtio_ethdev.c | 15 +-
> mk/exec-env/{linuxapp => osvapp}/rte.app.mk | 0
> mk/exec-env/{linuxapp => osvapp}/rte.vars.mk | 6 +-
> mk/internal/rte.compile-pre.mk | 41 ++-
> mk/target/generic/rte.vars.mk | 4 +
> mk/toolchain/gcc/rte.vars.mk | 5 +-
> 28 files changed, 907 insertions(+), 187 deletions(-)
> copy config/{common_linuxapp => common_osvapp} (97%)
> copy config/{defconfig_x86_64-native-linuxapp-gcc => defconfig_x86_64-native-osvapp-gcc} (98%)
> copy Makefile => lib/librte_eal/osvapp/Makefile (93%)
> create mode 100644 lib/librte_eal/osvapp/eal/Makefile
> copy lib/librte_eal/{linuxapp => osvapp}/eal/eal.c (87%)
> copy lib/librte_eal/{linuxapp => osvapp}/eal/eal_alarm.c (100%)
> copy lib/librte_eal/{linuxapp => osvapp}/eal/eal_debug.c (100%)
> create mode 100644 lib/librte_eal/osvapp/eal/eal_hugepage_info.cc
> copy lib/librte_eal/{bsdapp => osvapp}/eal/eal_interrupts.c (100%)
> copy lib/librte_eal/{bsdapp/eal/eal_lcore.c => osvapp/eal/eal_lcore.cc} (80%)
> copy lib/librte_eal/{bsdapp => osvapp}/eal/eal_log.c (100%)
> create mode 100644 lib/librte_eal/osvapp/eal/eal_memory.cc
> create mode 100644 lib/librte_eal/osvapp/eal/eal_pci.cc
> copy lib/librte_eal/{linuxapp => osvapp}/eal/eal_thread.c (100%)
> create mode 100644 lib/librte_eal/osvapp/eal/eal_timer.c
> copy lib/librte_eal/{bsdapp => osvapp}/eal/include/exec-env/rte_interrupts.h (100%)
> copy mk/exec-env/{linuxapp => osvapp}/rte.app.mk (100%)
> copy mk/exec-env/{linuxapp => osvapp}/rte.vars.mk (95%)
>
> --
> 2.1.0
>
More information about the dev
mailing list