On Fri, Mar 13, 2015 at 7:00 PM, Bruce Richardson < bruce.richardson at intel.com> wrote:
> 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? > We have an application repository for OSv, I'll add DPDK to deploy it easier: https://github.com/cloudius-systems/osv-apps And we will add DPDK building instructions on OSv wiki: https://github.com/cloudius-systems/osv/wiki Since Linux and FreeBSD has "Getting Started Guide", probably I need to add OSv version too? > > > > 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 > > >