13 Jan, 2019
1 commit
-
[ Upstream commit c5c08bed843c2b2c048c16d1296d7631d7c1620e ]
Fixes: d38499530e5 ("fs: decouple READ and WRITE from the block layer ops")
Signed-off-by: Michael S. Tsirkin
Signed-off-by: Sasha Levin
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
09 May, 2017
3 commits
-
trivial fix to spelling mistake in an error message.
Signed-off-by: Colin Ian King
Signed-off-by: Michael S. Tsirkin
Acked-by: Jason Wang -
Use the param flag for that.
Signed-off-by: Michael S. Tsirkin
-
Add a new flag for passing test-specific parameters.
Signed-off-by: Michael S. Tsirkin
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 -
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
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 -
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
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 -
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
31 Oct, 2016
3 commits
-
Updating the event index has a memory barrier and causes more work
on the other side to actually signal the event. It is unnecessary
if a new buffer has already appeared on the ring, so poll once before
doing the update.The effect of this on the 0.9 ring implementation is pretty much
invisible, but on the new-style ring it provides a consistent 3%
performance improvement.Signed-off-by: Paolo Bonzini
Signed-off-by: Michael S. Tsirkin -
Provide new primitives used_empty/avail_empty and
build poll_avail/poll_used on top of it.Signed-off-by: Paolo Bonzini
Signed-off-by: Michael S. Tsirkin -
By using -flto and -fwhole-program, all functions from the ring implementation
can be treated as static and possibly inlined. Force this to happen through
the GCC flatten attribute.Signed-off-by: Paolo Bonzini
Signed-off-by: Michael S. Tsirkin
15 Aug, 2016
2 commits
-
Fixes build after recent IOMMU-related changes,
mustly by adding more stubs.Signed-off-by: Michael S. Tsirkin
-
Recent changes to ptr_ring broke the ringtest
which lacks a likely() stub. Fix it up.Fixes: 982fb490c298896d15e9323a882f34a57c11ff56
("ptr_ring: support zero length ring")
Signed-off-by: Michael S. Tsirkin
01 Jul, 2016
1 commit
-
Sometimes, we need support resizing multiple queues at once. This is
because it was not easy to recover to recover from a partial failure
of multiple queues resizing.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Jason Wang
Signed-off-by: David S. Miller
30 Jun, 2016
1 commit
-
Several cases of overlapping changes, except the packet scheduler
conflicts which deal with the addition of the free list parameter
to qdisc_enqueue().Signed-off-by: David S. Miller
16 Jun, 2016
1 commit
-
Add ringtest based unit test for ptr ring.
Signed-off-by: Michael S. Tsirkin
Signed-off-by: David S. Miller
06 Jun, 2016
3 commits
-
Useful to measure testing framework overhead.
Signed-off-by: Michael S. Tsirkin
-
/dev/cpu is only available on x86 with certain modules (e.g. msr) enabled.
Using lscpu to get processors count is more portable.Signed-off-by: Mike Rapoport
Signed-off-by: Michael S. Tsirkin -
Having typical usage example in the README file is more convinient than in
the git history...Signed-off-by: Mike Rapoport
Signed-off-by: Michael S. Tsirkin
23 May, 2016
2 commits
-
just a stub pointer for now.
Signed-off-by: Michael S. Tsirkin
-
skips ring accesses but drops out of order support
Signed-off-by: Michael S. Tsirkin
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
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 completelyTypical 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
-
Fix build after API changes.
Reported-by: Kamal Mostafa
Signed-off-by: Michael S. Tsirkin
07 Dec, 2015
2 commits
-
commit cf561f0d2eb74574ad9985a2feab134267a9d298 ("virtio: introduce
virtio_is_little_endian() helper") changed byteswap logic to
skip feature bit checks for LE platforms, but didn't
update tools/virtio, so vring_bench started failing.Update the copy under tools/virtio/ (TODO: find a way to avoid this code
duplication).Cc: Greg Kurz
Signed-off-by: Michael S. Tsirkin -
Makes them more generally available.
Signed-off-by: Michael S. Tsirkin
16 Sep, 2015
1 commit
-
Signed-off-by: Michael S. Tsirkin
10 Sep, 2015
1 commit
-
more stubs, mostly
Signed-off-by: Michael S. Tsirkin
16 Dec, 2014
6 commits
-
Signed-off-by: Michael S. Tsirkin
-
Signed-off-by: Michael S. Tsirkin
-
Seems to mostly be a positive.
Signed-off-by: Michael S. Tsirkin
-
Missed one place where vringh_test used
long to pass features. Fix it up to u64.Signed-off-by: Michael S. Tsirkin
-
Include missing virtio_config.h
Signed-off-by: Michael S. Tsirkin
-
As usual, add more stubs to fix test build after main
codebase changes.Signed-off-by: Michael S. Tsirkin
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 -
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
02 May, 2014
1 commit
-
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