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

Optimized "blitter" routine written in assembler [wip] #719

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Commits on Jan 17, 2016

  1. lib.blit: Added "blitter" module

    This is a simple placeholder implementation for an optimized
    bit-blitting API.
    lukego committed Jan 17, 2016
    Configuration menu
    Copy the full SHA
    9333b37 View commit details
    Browse the repository at this point in the history
  2. (WIP) virtio net_device: Perform VM copies with lib.blit

    Update the vhost-user code to perform Snabb<->VM memory copies via the
    lib.blit module. This allows experimental optimizations with local
    changes to the blit module.
    
    This essentially separates "virtio vring processing" and "virtio
    memory copies" into being two separate problems that can be profiled
    and optimized separately.
    
    This is work-in-progress: Care must be taken not to let the guest see
    that packets are available until the blit.barrier() operation has been
    executed and I think this will require moving the ring index updates.
    lukego committed Jan 17, 2016
    Configuration menu
    Copy the full SHA
    b931213 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2016

  1. lib.blit: Draft assembler code version

    work in progress / not complete:
    - Rounds all copies up to 32-bytes.
    - Fails NFV benchmark test.
    lukego committed Jan 18, 2016
    Configuration menu
    Copy the full SHA
    d0e9194 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2016

  1. lib.blit: Added blitter implementation in assembler [wip]

    The lib.blit API is now implemented by an assembler routine that
    batches copies together.
    
    This is a work in progress due to one major restriction: copy length
    has to be a multiple of 32 bytes.
    lukego committed Jan 19, 2016
    Configuration menu
    Copy the full SHA
    a3c65f0 View commit details
    Browse the repository at this point in the history