freebsd-nq/sys/dev/virtio
Steven Hartland 85c9dd9d89 Prevent overflow issues in timeout processing
Previously, any timeout value for which (timeout * hz) will overflow the
signed integer, will give weird results, since callout(9) routines will
convert negative values of ticks to '1'. For unsigned integer overflow we
will get sufficiently smaller timeout values than expected.

Switch from callout_reset, which requires conversion to int based ticks
to callout_reset_sbt to avoid this.

Also correct isci to correctly resolve ccb timeout.

This was based on the original work done by Eygene Ryabinkin
<rea@freebsd.org> back in 5 Aug 2011 which used a macro to help avoid
the overlow.

Differential Revision:	https://reviews.freebsd.org/D1157
Reviewed by:	mav, davide
MFC after:	1 month
Sponsored by:	Multiplay
2014-11-21 21:01:24 +00:00
..
balloon xen/virtio: fix balloon drivers to not mark pages as WIRED 2014-06-25 09:51:08 +00:00
block Add Virtio MMIO bus driver. 2014-11-18 14:11:14 +00:00
console Several minor changes to hopefully complete the VirtIO console driver 2014-11-07 03:36:28 +00:00
mmio Add Virtio MMIO bus driver. 2014-11-18 14:11:14 +00:00
network Enable LRO by default when available on vtnet interfaces 2014-11-09 20:04:12 +00:00
pci Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h 2014-06-16 04:25:04 +00:00
random Wait for the callout to finish before unloading the module 2014-04-24 05:04:54 +00:00
scsi Prevent overflow issues in timeout processing 2014-11-21 21:01:24 +00:00
virtio_bus_if.m Merge virtio changes from projects/virtio 2013-07-04 17:57:26 +00:00
virtio_config.h Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h 2014-06-16 04:25:04 +00:00
virtio_ids.h Split the virtio.h header file into multiple files 2014-06-01 18:16:01 +00:00
virtio_if.m Add optional VirtIO device method for post-attach notifications 2013-09-01 04:20:23 +00:00
virtio_ring.h
virtio.c Split the virtio.h header file into multiple files 2014-06-01 18:16:01 +00:00
virtio.h Move the VIRTIO_RING_F_* defines out of virtqueue.h into virtio_config.h 2014-06-16 04:25:04 +00:00
virtqueue.c print additional debugging info in virtqueue_dump() 2014-08-16 13:13:17 +00:00
virtqueue.h Add accessor to get the number of free descriptors in the virtqueue 2014-07-10 05:26:01 +00:00