02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

09 May, 2017

3 commits


03 May, 2017

2 commits

  • Previous commit ("virtio: add context flag to find vqs")
    added a new 'context' flag to vring_new_virtqueue(), but the
    corresponding API in tools/virtio/ is not updated causing
    build errors due to conflicting declarations.

    Bring code in tools/virtio in sync with that in kernel.

    I have used 'false' for the value of the new boolean 'context'
    flag as that seems to be the best way to preserve existing
    behavior.

    Tested with:

    $ make -C tools/virtio clean all ARCH=x86

    Signed-off-by: Sekhar Nori
    Signed-off-by: Michael S. Tsirkin

    Sekhar Nori
     
  • There is an || vs && typo so the assert can never be triggered.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Michael S. Tsirkin
    Acked-by: Jason Wang

    Dan Carpenter
     

20 Jan, 2017

2 commits

  • Make ringtest work on s390 too.

    Signed-off-by: Halil Pasic
    Acked-by: Sascha Silbe
    Signed-off-by: Cornelia Huck

    Halil Pasic
     
  • Since ef1b144d ("tools/virtio/ringtest: fix run-on-all.sh to work
    without /dev/cpu") run-on-all.sh uses seq 0 $HOST_AFFINITY as the list
    of ids of the CPUs to run the command on (assuming ids of online CPUs
    are consecutive and start from 0), where $HOST_AFFINITY is the highest
    CPU id in the system previously determined using lscpu. This can fail
    on systems with offline CPUs.

    Instead let's use lscpu to determine the list of online CPUs.

    Signed-off-by: Halil Pasic
    Fixes: ef1b144d ("tools/virtio/ringtest: fix run-on-all.sh to work without
    /dev/cpu")
    Reviewed-by: Sascha Silbe
    Signed-off-by: Cornelia Huck

    Halil Pasic
     

16 Dec, 2016

2 commits

  • As a step towards killing off ACCESS_ONCE, use {READ,WRITE}_ONCE() for the
    virtio tools uaccess primitives, pulling these in from .

    With this done, we can kill off the now-unused ACCESS_ONCE() definition.

    Signed-off-by: Mark Rutland
    Cc: Jason Wang
    Cc: Michael S. Tsirkin
    Cc: linux-kernel@vger.kernel.org
    Cc: virtualization@lists.linux-foundation.org
    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Cornelia Huck
    Reviewed-by: Jason Wang

    Mark Rutland
     
  • The virtio tools implementation of READ_ONCE() has a single parameter called
    'var', but erroneously refers to 'val' for its cast, and thus won't work unless
    there's a variable of the correct type that happens to be called 'var'.

    Fix this with s/var/val/, making READ_ONCE() work as expected regardless.

    Fixes: a7c490333df3cff5 ("tools/virtio: use virt_xxx barriers")
    Signed-off-by: Mark Rutland
    Cc: Jason Wang
    Cc: Michael S. Tsirkin
    Cc: linux-kernel@vger.kernel.org
    Cc: virtualization@lists.linux-foundation.org
    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Cornelia Huck
    Reviewed-by: Jason Wang

    Mark Rutland
     

31 Oct, 2016

3 commits


15 Aug, 2016

2 commits


01 Jul, 2016

1 commit


30 Jun, 2016

1 commit


16 Jun, 2016

1 commit


06 Jun, 2016

3 commits


23 May, 2016

2 commits


02 Mar, 2016

1 commit

  • virtio_ring currently sends the device (usually a hypervisor)
    physical addresses of its I/O buffers. This is okay when DMA
    addresses and physical addresses are the same thing, but this isn't
    always the case. For example, this never works on Xen guests, and
    it is likely to fail if a physical "virtio" device ever ends up
    behind an IOMMU or swiotlb.

    The immediate use case for me is to enable virtio on Xen guests.
    For that to work, we need vring to support DMA address translation
    as well as a corresponding change to virtio_pci or to another
    driver.

    Signed-off-by: Andy Lutomirski
    Signed-off-by: Michael S. Tsirkin

    Andy Lutomirski
     

26 Jan, 2016

2 commits

  • This adds micro-benchmarks useful for tuning virtio ring layouts.
    Three layouts are currently implemented:

    - virtio 0.9 compatible one
    - an experimental extension bypassing the ring index, polling ring
    itself instead
    - an experimental extension bypassing avail and used ring completely

    Typical use:

    sh run-on-all.sh perf stat -r 10 --log-fd 1 -- ./ring

    It doesn't depend on the kernel directly, but it's handy
    to have as much virtio stuff as possible in one tree.

    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     
  • Fix build after API changes.

    Reported-by: Kamal Mostafa
    Signed-off-by: Michael S. Tsirkin

    Michael S. Tsirkin
     

07 Dec, 2015

2 commits


16 Sep, 2015

1 commit


10 Sep, 2015

1 commit


16 Dec, 2014

6 commits


09 Dec, 2014

2 commits

  • Change u32 to u64, and use BIT_ULL and 1ULL everywhere.

    Note: transports are unchanged, and only set low 32 bit.
    This guarantees that no transport sets e.g. VERSION_1
    by mistake without proper support.

    Based on patch by Rusty.

    Signed-off-by: Rusty Russell
    Signed-off-by: Cornelia Huck
    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: David Hildenbrand
    Reviewed-by: Cornelia Huck

    Michael S. Tsirkin
     
  • It seemed like a good idea to use bitmap for features
    in struct virtio_device, but it's actually a pain,
    and seems to become even more painful when we get more
    than 32 feature bits. Just change it to a u32 for now.

    Based on patch by Rusty.

    Suggested-by: David Hildenbrand
    Signed-off-by: Rusty Russell
    Signed-off-by: Cornelia Huck
    Signed-off-by: Michael S. Tsirkin
    Reviewed-by: Cornelia Huck

    Michael S. Tsirkin
     

02 May, 2014

2 commits

  • Combine all definitions into a common tools/include/linux/types.h and
    kill the wild growth elsewhere. Move DECLARE_BITMAP to its proper
    bitmap.h header.

    Signed-off-by: Borislav Petkov
    Acked-by: Rusty Russell
    Link: http://lkml.kernel.org/n/tip-azczs7qcv6h9xek9od10hiv2@git.kernel.org
    Signed-off-by: Jiri Olsa

    Borislav Petkov
     
  • So tools/ has been growing three, at a different stage of their
    development export.h headers and so we should unite into one. Add
    tools/include/ to the include path of virtio and liblockdep to pick the
    shared header now.

    Signed-off-by: Borislav Petkov
    Acked-by: Rusty Russell
    Cc: Arnaldo Carvalho de Melo
    Cc: Ingo Molnar
    Cc: Michael S. Tsirkin
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sasha Levin
    Cc: virtio-dev@lists.oasis-open.org
    Cc: virtualization@lists.linux-foundation.org
    Link: http://lkml.kernel.org/r/1397493185-19521-2-git-send-email-bp@alien8.de
    Signed-off-by: Jiri Olsa

    Borislav Petkov