CA-136178 : Xen "mm.c:2830:d0v2 Unknown domain '<domid>'" console spam

Much of this patch is actually related to improving performance of MMAPBATCH.
This work is loosly based on another patch, found here:

http://lists.xen.org/archives/html/xen-devel/2012-12/msg01554.html

This roughly doubles the speed of the privcmod_mmapbatch.
The behaviour is also changed, such that if it encounters the
error ESRCH, it stops and make no further calls to Xen.  Any as yet
unprocessed entries are marked and returned as also failing with ESRCH.
CA-133384 - Stop uncondtionally pulling 128 bytes into linear region on vif tx

Netback unconditionally pulls 128 bytes in linear region to ensure, guest cannot
change the packet header whilst packet is traversing the Dom0 network stack.

The packet checksum code ensure the required amount of packet header is in the linear
region and determine the amount to pull at runtime.

Avoiding the unconditional pull allows for the first frag to NOT be touched, this in
turn allows the tlb-flush avoidance code to work and results in > 99% tlb-flush avoidance.

Conflicts:
	master/series
CP-8550: Remove unnecessary BUG_ON
CP-8579: Forward ported SLB bonding patches

Forward ported Source Load Balancing bonding patches to 3.10.x
from 2.6.32

Conflicts:
	master/series
Bonding no updelay on first active slave

Ignore the updelay and enable a slave immediately, if it is the
only active slave.
Lock fdb after GARP

This is a forward port from 2.6.32, to fix CA-39056

Conflicts:
	master/series
CA-137716: Fix bond slb softlockup

commit f515e6b77045b4b1f54617d9fbf4a22b95a58757 "bond_alb: don't
disable softirq under bond_alb_xmit" in 3.10.x made
_lock_tx_hashtbl as non-bh based spin_lock. Where as in 2.6.32
_lock_tx_hashtbl() is spin_lock_bh().

When forwarding porting the SLB patches from 2.6.32, we retained
_lock_tx_hashtbl() in bond_info_show_slb(). bond_info_show_slb()
is always called from process context and if bond_info_show_slb()
is interrupted, by softirq, while holding _lock_tx_hashtbl(),
it might lead to dead lock (bond_alb_xmit() tries to acquire
the same lock)

Fix is to call _lock_tx_hashtbl_bh() in bond_info_show_slb()
instead of _lock_tx_hashtbl().
CA-139990 - Disable NIC offload kernel module as they conflict with vendor module updates.

Conflicts:
	master/kernel-configuration
CA-135774: Add support for memory cgroups
CP-9204 - Update kernel nvme driver to 3.17 based version
CP-9204 - Add dropped header file for nvme driver.
CA-142339: Increase number of VBDs supported per host

Signed-off-by: Chandrika Srinivasan <chandrika.srinivasan@citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
CP-9457: re-introduce kthread-pid in blkback

We used to do that in Clearwater but the private patch wasn't included
in Creedence.

Signed-off-by: Thanos Makatos <thanos.makatos@citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>

Conflicts:
	master/series
Revert "Revert CA-142275 changes - causing carnage on the BVT"

This reverts commit 1bb8a536829315e3091c4ddd37e6c0e19556ad35.

Conflicts:
	master/series
CA-142275: drop 0001-xen-netback-move-NAPI-add-remove-calls.patch

The patch moved the netif_napi_add at
the end of the xenvif_connect.
This causes a BUG_ON because of the order
of netif_napi_add and napi_enable.
CP-9589 - Fix nvme kernel compat code so that scsi_id can work correctly
CP-9933: Limit grant maps to ballooned pages only

    Add WARN_ON(...) on grant map if the page is not ballooned.
    Remove use of page->index in x86 PV p2m code.
    Remove netback workaround for page->pfmemalloc.

This work also pulls two patches from upstream:

    c6cc142dac52e62e1e8a2aff5de1300202b96c66
    xen-blkback: use balloon pages for all mappings

    fb9a0c443691ceaab3daba966bbbd9f5ff3aa26f
    xen/balloon: set ballooned out pages as invalid in p2m
CA-142346: don't IPI all spinlock waiters

Because PV spinlocks re-enabled IRQs in the slow path various
deadlocks could occur (re-enabling IRQs while spinning is not
something bare-metal or the PV ticket locks do).  This was worked
around by IPIing all waiters in the unlock path but this does not
scale well with more VCPUs.

Instead, do not re-enable IRQs in the slow path.  This is a similar to
a fix made on clearwater with the classic ticketlocks (which also
re-enabled IRQs in the slow path).