Home | History | Annotate | Download | only in include
History log of /src/sys/arch/xen/include/xen_shm.h
RevisionDateAuthorComments
 1.12  25-Apr-2020  bouyer Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.11  19-Apr-2020  jdolecek change interface for xen_shm_map() so that caller always supplies the VA,
it now fails only if the Xen hypercall fails, in which case the failure
is final

change xbdback to pre-allocate KVA on xbdback attach (and free on detach),
so it has always KVA to map the request pages

remove no longer needed KVA allocation failure handling
 1.10  08-Jan-2019  jdolecek branches: 1.10.10;
remove explicit <machine/param.h> include, code including this already includes
<sys/param.h>
 1.9  19-Oct-2009  bouyer branches: 1.9.62; 1.9.64;
Remove closes 3 & 4 from my licence. Lots of thanks to Soren Jacobsen
for the booring work !
 1.8  29-Jul-2009  cegger remove Xen2 support.
ok bouyer@
 1.7  25-Jun-2006  bouyer branches: 1.7.62; 1.7.76;
Allow xen_shm_map() to map multiple grants in a contigous virtual address
space.
While here garbage-collect unused xen_shm_vaddr2ma()
 1.6  25-May-2006  bouyer branches: 1.6.2;
Convert xen_shm_map() and xen_shm_unmap() to the Xen3 grant table
interface.
 1.5  11-Dec-2005  christos branches: 1.5.4; 1.5.6; 1.5.8; 1.5.14;
merge ktrace-lwp.
 1.4  17-Jul-2005  tls Improvements to xbdback (the domain 0 driver that provides "xbd" virtual
disks to other domains) from Jed Davis, <jld@panix.com>:

* Issue multiple requests when necessary rather than
assuming that arbitrary requests can be mapped into single
contiguous virtual address ranges.

* Don't assume that all data for a request is consecutive
in memory. With some client OSes, it's not.

The above two changes fix data corruption issues with Linux
clients with certain filesystem block sizes.

* Gracefully handle memory or pool allocation failures after
beginning to handle a request from the ring.

* Merge contiguous requests to avoid the "64K turns into 44K + 20K
and doubles the transactions per second at the disk" problem
caused by the 11-page limit caused by the structure of Xen
ring entries. This causes a very slight performance decrease
for sequential 64K I/O if the disk is not already saturated with
requests (about 1%) but halves the transactions per second we
hit the disk with -- or better. It even compensates for bizarre
Linux behaviour like breaking long requests up into 5.5K pieces.

* Probably some stuff I forgot to mention.

Disk throughput (though not latency) is now much, much closer to the
"raw hardware" case than it was before.
 1.3  16-Apr-2005  yamt branches: 1.3.2; 1.3.4;
s/foreing/foreign/g
ok'ed by Manuel Bouyer.
 1.2  09-Mar-2005  bouyer branches: 1.2.2; 1.2.4; 1.2.6;
Merge the bouyer-xen2 branch. This add supports for the Xen 2.0 virtual
machine kernel (both privileged and non-privileged domains), and remove support
for the old xen 1.2.
 1.1  16-Feb-2005  bouyer branches: 1.1.2;
file xen_shm.h was initially added on branch bouyer-xen2.
 1.1.2.2  08-Mar-2005  bouyer Improve ressource shortage recovery: if xen_shm_map() fails, register a
callback wich will retry the I/O when xen_shm_unmap() is called.
 1.1.2.1  16-Feb-2005  bouyer Support functions to map/unmap guest's memory into our kernel VM space.
This will be used by the block and network back-end.
The caller provide a list of machine address pages, and we return the
address virtual address they've been mapped to. These mapping are not
registered to the pmap (we don't have physical addresses for these pages),
so change bus_dma(9) to handle these mappings as well.
 1.2.6.3  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.2.6.2  01-Apr-2005  skrll Sync with HEAD.
 1.2.6.1  09-Mar-2005  skrll file xen_shm.h was added on branch ktrace-lwp on 2005-04-01 14:29:10 +0000
 1.2.4.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.1  09-Mar-2005  yamt file xen_shm.h was added on branch yamt-km on 2005-03-19 08:33:26 +0000
 1.2.2.2  15-Aug-2005  tron Pull up revision 1.4 (requested by tls in ticket #656):
Improvements to xbdback (the domain 0 driver that provides "xbd" virtual
disks to other domains) from Jed Davis, <jld@panix.com>:
* Issue multiple requests when necessary rather than
assuming that arbitrary requests can be mapped into single
contiguous virtual address ranges.
* Don't assume that all data for a request is consecutive
in memory. With some client OSes, it's not.
The above two changes fix data corruption issues with Linux
clients with certain filesystem block sizes.
* Gracefully handle memory or pool allocation failures after
beginning to handle a request from the ring.
* Merge contiguous requests to avoid the "64K turns into 44K + 20K
and doubles the transactions per second at the disk" problem
caused by the 11-page limit caused by the structure of Xen
ring entries. This causes a very slight performance decrease
for sequential 64K I/O if the disk is not already saturated with
requests (about 1%) but halves the transactions per second we
hit the disk with -- or better. It even compensates for bizarre
Linux behaviour like breaking long requests up into 5.5K pieces.
* Probably some stuff I forgot to mention.
Disk throughput (though not latency) is now much, much closer to the
"raw hardware" case than it was before.
 1.2.2.1  21-Apr-2005  tron Pull up revision 1.3 (requested by yamt in ticket #173):
s/foreing/foreign/g
ok'ed by Manuel Bouyer.
 1.3.4.2  30-Dec-2006  yamt sync with head.
 1.3.4.1  21-Jun-2006  yamt sync with head.
 1.3.2.2  29-Apr-2005  kent sync with -current
 1.3.2.1  16-Apr-2005  kent file xen_shm.h was added on branch kent-audio2 on 2005-04-29 11:28:29 +0000
 1.5.14.1  19-Jun-2006  chap Sync with head.
 1.5.8.1  26-Jun-2006  yamt sync with head.
 1.5.6.1  01-Jun-2006  kardel Sync with head.
 1.5.4.1  09-Sep-2006  rpaulo sync with head
 1.6.2.1  13-Jul-2006  gdamore Merge from HEAD.
 1.7.76.1  01-Nov-2009  jym Sync with HEAD.
 1.7.62.2  11-Mar-2010  yamt sync with head
 1.7.62.1  19-Aug-2009  yamt sync with head.
 1.9.64.2  21-Apr-2020  martin Sync with HEAD
 1.9.64.1  10-Jun-2019  christos Sync with HEAD
 1.9.62.1  18-Jan-2019  pgoyette Synch with HEAD
 1.10.10.1  20-Apr-2020  bouyer Sync with HEAD

RSS XML Feed