- Feb 12, 2014
-
-
Zhi Yong Wu authored
Signed-off-by:
Zhi Yong Wu <zwu.kernel@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Feb 10, 2014
-
-
Asias He authored
msi interrupt is not always implemented. Fallback to gsi interrupt when msi interrupt is not available. Signed-off-by:
Asias He <asias@cloudius-systems.com>
-
- Feb 06, 2014
-
-
Takuya ASADA authored
Signed-off-by:
Takuya ASADA <syuu@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Dec 19, 2013
-
-
Asias He authored
Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
The name is shorter and clearer and more consistent with the name used in virtio-scsi. Signed-off-by:
Asias He <asias.hejun@gmail.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
Signed-off-by:
Asias He <asias.hejun@gmail.com> [ penberg: keep comments vertically aligned ] Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
bio is already signalled in all cases. No need to do it in destructor. Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
It's better not to indent after the namespace specifier. Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
Change from blk::make_virtio_request to blk::make_request. Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Asias He authored
We are under the virtio namespace, it makes no sense to repeat the virtio prefix again in the virito_blk driver. Change the naming from virtio::virtio_blk to virtio::blk. Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Dec 18, 2013
-
-
Asias He authored
The lock used to protect _waiting_request_thread can go away. Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Sep 15, 2013
-
-
Nadav Har'El authored
Add Cloudius copyright and license statement to drivers/*. A couple of header files were based on Linux's BSD-licensed header files (e.g., include/uapi/linux/virtio_net.h) so they included the BSD license, but not any copyright statement, so we can just replace that by our own statement of the BSD license.
-
- Jul 17, 2013
-
-
Dor Laor authored
Instead of cancelling block requests due to no space on the ring that lead to corruption of the upper layer, block until there is space.
-
- Jul 11, 2013
-
-
Dor Laor authored
virtio_blk pre-allocates requests into a cache to avoid re-allocation (possibly an unneeded optimization with the current allocator). However, it doesn't take into account that requests can be completed out-of-order, and simply reuses requests in a cyclic order. Noted by Avi although I had it made using a peak into the index ring but its too complex solution. There is no performance degradation w/ smp due to the good allocator we have today.
-
- Jul 10, 2013
-
-
Dor Laor authored
virtio-vring and it's users (net/blk) were changed so no request header will be allocated on run time except for init. In order to do that, I have to change get_buf and break it into multiple parts: // Get the top item from the used ring void* get_buf_elem(u32 *len); // Let the host know we consumed the used entry // We separate that from get_buf_elem so no one // will re-cycle the request header location until // we're finished with it in the upper layer void get_buf_finalize(); // GC the used items that were already read to be emptied // within the ring. Should be called by add_buf // It was separated from the get_buf flow to allow parallelism of the two void get_buf_gc(); As a result, it was simple to get rid of the shared lock that protected _avail_head variable before. Today only the thread that calls add_buf updates this variable (add_buf calls get_buf_gc internally). There are two new locks instead: - virtio-net tx_gc lock - very rarely it can be accessed by the tx_gc thread or normally by the tx xmit thread - virtio-blk make_requests - there are parallel requests
-
Dor Laor authored
Trivial: Move code above, preparation for preventing past path allocations for the virtio request data
-
- Jun 23, 2013
-
-
Christoph Hellwig authored
-
- Mar 07, 2013
-
-
Dor Laor authored
Move osv/bio.h into the .cc implementation and along with it move the virtio_blk_req structure that can be hidden from the header.
-
- Mar 05, 2013
-
-
Avi Kivity authored
virtio_device is now a simple set of accessors around pci::device. Since the only users of virtio_device are virtio_driver and its subclasses, we can simply fold it into virtio_driver, eliminating the middleman. Resolves two FIXMEs where we leaked virtio_device objects created during probing.
-
- Feb 28, 2013
-
-
Avi Kivity authored
These are subsumed into the driver constructor/destrutor.
-
Avi Kivity authored
Driver enumeration requires instantiating a driver even for devices which are not present; and if a device is present multiple times, we need to pre-create multiple driver instances, which is awkward. Further, driver life-cycle is complicated, with separation between instantiation and binding to a device. Switch (back) to the traditional device-driven model, where we iterate over all devices, try to find a matching driver factory, and when found, call it to instantiate the driver and bind to the device.
-
- Feb 21, 2013
- Feb 17, 2013
-
-
Dor Laor authored
-
- Feb 12, 2013
-
-
Dor Laor authored
-
- Feb 05, 2013
-
-
Dor Laor authored
Before we had 2 layes of calls, one in the virtio ring layer and another in the virtio-blk layer. There wasn't any reall need for that. The change allows the virtio-vring code to call a callback that the virtio-blk registers and execute it directly.
-
Dor Laor authored
and process pops requests from the ring. In addition, implement the vfs device callbacks and wire them into virtio-blk Need to test the later.
-
- Feb 01, 2013
-
-
Dor Laor authored
While it works, it needs to move to the virtio layer
-
- Jan 31, 2013
-
-
Guy Zana authored
-
- Jan 30, 2013
- Jan 27, 2013
-
-
Guy Zana authored
Created abstract base classes for device and drivers, changed the flow of driver loading / device probing
-
- Jan 24, 2013
-
-
Dor Laor authored
a tests that uses it and adds plenty of block requests to the host.
-
- Jan 21, 2013
- Jan 20, 2013
-
-
Dor Laor authored
-
- Jan 15, 2013