Giter VIP home page Giter VIP logo

libpop's Introduction

BoogiePop: A library for Peripheral-to-Peripheral communication

Requirements

  • Linux kernel 4.20
  • i40e NIC
  • NVMe device
  • something good motherboad
  • something good p2pmem card

Compile and Install

git clone https://github.com/upa/boogiepop
cd boogiepop/
git submodule init && git submodule update
  1. Compile and install a modified netmap. This netmap installs only i40e and ixgbe drivers. Tested on only kernel 4.20.
cd boogiepop/netmap/LINUX
./configure
make
sudo make install
  1. Compile and install Boogiepop. compiling boogiepop depends on the netmap.
cd boogiepop/
make
sudo make install
  1. Compile a modified UNVMe. This depends on the boogiepop library.
cd boogiepop/unvme/
make
sudo make install

How to

  1. set hugepages
echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
echo 0 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
mkdir -p /mnt/hugepages
mount -t hugetlbfs nodev /mnt/hugepages
  1. set NVMe device under UNVMe without iommu
modprobe -r vfio_pci
modprobe -r vfio_iommu_type1
modprobe -r vfio
modprobe vfio enable_unsafe_noiommu_mode=1

unvme-setup bind 17:00.0 # pci slot of NVMe

libpop's People

Contributors

upa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.