26 Jul, 2011

1 commit

  • Memory hotplug support for Xen balloon driver. It should be mentioned
    that hotplugged memory is not onlined automatically. It should be onlined
    by user through standard sysfs interface.

    Memory could be hotplugged in following steps:

    1) dom0: xl mem-max
    where is >= requested memory size,

    2) dom0: xl mem-set
    where is requested memory size; alternatively memory
    could be added by writing proper value to
    /sys/devices/system/xen_memory/xen_memory0/target or
    /sys/devices/system/xen_memory/xen_memory0/target_kb on dumU,

    3) domU: for i in /sys/devices/system/memory/memory*/state; do \
    [ "`cat "$i"`" = offline ] && echo online > "$i"; done

    Memory could be onlined automatically on domU by adding following line to
    udev rules:

    SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /sys$devpath/state'"

    In that case step 3 should be omitted.

    Signed-off-by: Daniel Kiper
    Acked-by: Konrad Rzeszutek Wilk
    Cc: Ian Campbell
    Cc: Jeremy Fitzhardinge
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Kiper
     

23 Jul, 2011

1 commit

  • * 'stable/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/pciback: Have 'passthrough' option instead of XEN_PCIDEV_BACKEND_PASS and XEN_PCIDEV_BACKEND_VPCI
    xen/pciback: Remove the DEBUG option.
    xen/pciback: Drop two backends, squash and cleanup some code.
    xen/pciback: Print out the MSI/MSI-X (PIRQ) values
    xen/pciback: Don't setup an fake IRQ handler for SR-IOV devices.
    xen: rename pciback module to xen-pciback.
    xen/pciback: Fine-grain the spinlocks and fix BUG: scheduling while atomic cases.
    xen/pciback: Allocate IRQ handler for device that is shared with guest.
    xen/pciback: Disable MSI/MSI-X when reseting a device
    xen/pciback: guest SR-IOV support for PV guest
    xen/pciback: Register the owner (domain) of the PCI device.
    xen/pciback: Cleanup the driver based on checkpatch warnings and errors.
    xen/pciback: xen pci backend driver.
    xen: tmem: self-ballooning and frontswap-selfshrinking
    xen: Add module alias to autoload backend drivers
    xen: Populate xenbus device attributes
    xen: Add __attribute__((format(printf... where appropriate
    xen: prepare tmem shim to handle frontswap
    xen: allow enable use of VGA console on dom0

    Linus Torvalds
     

12 Jul, 2011

1 commit

  • In the past (2.6.38) the 'xen_allocate_pirq_gsi' would allocate
    an entry in a Linux IRQ -> {XEN_IRQ, type, event, ..} array. All
    of that has been removed in 2.6.39 and the Xen IRQ subsystem uses
    an linked list that is populated when the call to
    'xen_allocate_irq_gsi' (universally done from any of the xen_bind_*
    calls) is done. The 'xen_allocate_pirq_gsi' is a NOP and there is
    no need for it anymore so lets remove it.

    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

09 Jul, 2011

2 commits

  • …nel/git/djm/tmem into stable/drivers

    * 'xen-tmem-selfballoon-v8' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:
    xen: tmem: self-ballooning and frontswap-selfshrinking

    Konrad Rzeszutek Wilk
     
  • This patch introduces two in-kernel drivers for Xen transcendent memory
    ("tmem") functionality that complement cleancache and frontswap. Both
    use control theory to dynamically adjust and optimize memory utilization.
    Selfballooning controls the in-kernel Xen balloon driver, targeting a goal
    value (vm_committed_as), thus pushing less frequently used clean
    page cache pages (through the cleancache code) into Xen tmem where
    Xen can balance needs across all VMs residing on the physical machine.
    Frontswap-selfshrinking controls the number of pages in frontswap,
    driving it towards zero (effectively doing a partial swapoff) when
    in-kernel memory pressure subsides, freeing up RAM for other VMs.

    More detail is provided in the header comment of xen-selfballooning.c.

    Signed-off-by: Dan Magenheimer

    [v8: konrad.wilk@oracle.com: set default enablement depending on frontswap]
    [v7: konrad.wilk@oracle.com: fix capitalization and punctuation in comments]
    [v6: fix frontswap-selfshrinking initialization]
    [v6: konrad.wilk@oracle.com: fix init pr_infos; add comments about swap]
    [v5: konrad.wilk@oracle.com: add NULL to attr list; move inits up to decls]
    [v4: dkiper@net-space.pl: use strict_strtoul plus a few syntactic nits]
    [v3: konrad.wilk@oracle.com: fix potential divides-by-zero]
    [v3: konrad.wilk@oracle.com: add many more comments, fix nits]
    [v2: rebased to linux-3.0-rc1]
    [v2: Ian.Campbell@citrix.com: reorganize as new file (xen-selfballoon.c)]
    [v2: dkiper@net-space.pl: proper access to vm_committed_as]
    [v2: dkiper@net-space.pl: accounting fixes]
    Cc: Jan Beulich
    Cc: Jeremy Fitzhardinge
    Cc:

    Dan Magenheimer
     

01 Jul, 2011

1 commit


21 Jun, 2011

1 commit


06 Jun, 2011

1 commit

  • Get the information about the VGA console hardware from Xen, and put
    it into the form the bootloader normally generates, so that the rest
    of the kernel can deal with VGA as usual.

    [ Impact: make VGA console work in dom0 ]

    Signed-off-by: Jeremy Fitzhardinge
    [v1: Rebased on 2.6.39]
    [v2: Removed incorrect comments and fixed compile warnings]
    Signed-off-by: Konrad Rzeszutek Wilk

    Jeremy Fitzhardinge
     

27 May, 2011

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem:
    xen: cleancache shim to Xen Transcendent Memory
    ocfs2: add cleancache support
    ext4: add cleancache support
    btrfs: add cleancache support
    ext3: add cleancache support
    mm/fs: add hooks to support cleancache
    mm: cleancache core ops functions and config
    fs: add field to superblock to support cleancache
    mm/fs: cleancache documentation

    Fix up trivial conflict in fs/btrfs/extent_io.c due to includes

    Linus Torvalds
     
  • This patch provides a shim between the kernel-internal cleancache
    API (see Documentation/mm/cleancache.txt) and the Xen Transcendent
    Memory ABI (see http://oss.oracle.com/projects/tmem).

    Xen tmem provides "hypervisor RAM" as an ephemeral page-oriented
    pseudo-RAM store for cleancache pages, shared cleancache pages,
    and frontswap pages. Tmem provides enterprise-quality concurrency,
    full save/restore and live migration support, compression
    and deduplication.

    A presentation showing up to 8% faster performance and up to 52%
    reduction in sectors read on a kernel compile workload, despite
    aggressive in-kernel page reclamation ("self-ballooning") can be
    found at:

    http://oss.oracle.com/projects/tmem/dist/documentation/presentations/TranscendentMemoryXenSummit2010.pdf

    Signed-off-by: Dan Magenheimer
    Reviewed-by: Jeremy Fitzhardinge
    Cc: Konrad Rzeszutek Wilk
    Cc: Matthew Wilcox
    Cc: Nick Piggin
    Cc: Mel Gorman
    Cc: Rik Van Riel
    Cc: Jan Beulich
    Cc: Chris Mason
    Cc: Andreas Dilger
    Cc: Ted Ts'o
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Nitin Gupta

    Dan Magenheimer
     

26 May, 2011

1 commit

  • * 'for-2.6.40/drivers' of git://git.kernel.dk/linux-2.6-block: (110 commits)
    loop: handle on-demand devices correctly
    loop: limit 'max_part' module param to DISK_MAX_PARTS
    drbd: fix warning
    drbd: fix warning
    drbd: Fix spelling
    drbd: fix schedule in atomic
    drbd: Take a more conservative approach when deciding max_bio_size
    drbd: Fixed state transitions after async outdate-peer-handler returned
    drbd: Disallow the peer_disk_state to be D_OUTDATED while connected
    drbd: Fix for the connection problems on high latency links
    drbd: fix potential activity log refcount imbalance in error path
    drbd: Only downgrade the disk state in case of disk failures
    drbd: fix disconnect/reconnect loop, if ping-timeout == ping-int
    drbd: fix potential distributed deadlock
    lru_cache.h: fix comments referring to ts_ instead of lc_
    drbd: Fix for application IO with the on-io-error=pass-on policy
    xen/p2m: Add EXPORT_SYMBOL_GPL to the M2P override functions.
    xen/p2m/m2p/gnttab: Support GNTMAP_host_map in the M2P override.
    xen/blkback: don't fail empty barrier requests
    xen/blkback: fix xenbus_transaction_start() hang caused by double xenbus_transaction_end()
    ...

    Linus Torvalds
     

12 May, 2011

1 commit


14 Apr, 2011

3 commits


31 Mar, 2011

1 commit


18 Mar, 2011

4 commits

  • * 'stable/xen.pm.bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: use freeze/restore/thaw PM events for suspend/resume/chkpt
    xen: xenbus PM events support

    Linus Torvalds
     
  • …it.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/irq.fairness' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: events: Remove redundant clear of l2i at end of round-robin loop
    xen: events: Make round-robin scan fairer by snapshotting each l2 word once only
    xen: events: Clean up round-robin evtchn scan.
    xen: events: Make last processed event channel a per-cpu variable.
    xen: events: Process event channels notifications in round-robin order.

    * 'stable/irq.ween_of_nr_irqs' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: events: Fix compile error if CONFIG_SMP is not defined.
    xen: events: correct locking in xen_irq_from_pirq
    xen: events: propagate irq allocation failure instead of panicking
    xen: events: do not workaround too-small nr_irqs
    xen: events: remove use of nr_irqs as upper bound on number of pirqs
    xen: events: dynamically allocate irq info structures
    xen: events: maintain a list of Xen interrupts
    xen: events: push setup of irq<->{evtchn,ipi,virq,pirq} maps into irq_info init functions
    xen: events: turn irq_info constructors into initialiser functions
    xen: events: use per-cpu variable for cpu_evtchn_mask
    xen: events: refactor GSI pirq bindings functions
    xen: events: rename restore_cpu_pirqs -> restore_pirqs
    xen: events: remove unused public functions
    xen: events: fix xen_map_pirq_gsi error return
    xen: events: simplify comment
    xen: events: separate two unrelated halves of if condition

    Fix up trivial conflicts in drivers/xen/events.c

    Linus Torvalds
     
  • …f git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/hvc-console' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/hvc: Disable probe_irq_on/off from poking the hvc-console IRQ line.

    * 'stable/gntalloc.v6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: gntdev: fix build warning
    xen/p2m/m2p/gnttab: do not add failed grant maps to m2p override
    xen-gntdev: Add cast to pointer
    xen-gntdev: Fix incorrect use of zero handle
    xen: change xen/[gntdev/gntalloc] to default m
    xen-gntdev: prevent using UNMAP_NOTIFY_CLEAR_BYTE on read-only mappings
    xen-gntdev: Avoid double-mapping memory
    xen-gntdev: Avoid unmapping ranges twice
    xen-gntdev: Use map->vma for checking map validity
    xen-gntdev: Fix unmap notify on PV domains
    xen-gntdev: Fix memory leak when mmap fails
    xen/gntalloc,gntdev: Add unmap notify ioctl
    xen-gntalloc: Userspace grant allocation driver
    xen-gntdev: Support mapping in HVM domains
    xen-gntdev: Add reference counting to maps
    xen-gntdev: Use find_vma rather than iterating our vma list manually
    xen-gntdev: Change page limit to be global instead of per-open

    * 'stable/balloon' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (24 commits)
    xen-gntdev: Use ballooned pages for grant mappings
    xen-balloon: Add interface to retrieve ballooned pages
    xen-balloon: Move core balloon functionality out of module
    xen/balloon: Remove pr_info's and don't alter retry_count
    xen/balloon: Protect against CPU exhaust by event/x process
    xen/balloon: Migration from mod_timer() to schedule_delayed_work()
    xen/balloon: Removal of driver_pages

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    watchdog: booke_wdt: clean up status messages
    watchdog: cleanup spaces before tabs
    watchdog: convert to DEFINE_PCI_DEVICE_TABLE
    watchdog: Xen watchdog driver
    watchdog: Intel SCU Watchdog Timer Driver for Moorestown and Medfield platforms.
    watchdog: jz4740_wdt - fix magic character checking
    watchdog: add JZ4740 watchdog driver
    watchdog: it87_wdt: Add support for IT8721F watchdog
    watchdog: hpwdt: build hpwdt as module by default with NMI_DECODING enabled
    watchdog: hpwdt: Fix a couple of typos

    Linus Torvalds
     

17 Mar, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits)
    bonding: enable netpoll without checking link status
    xfrm: Refcount destination entry on xfrm_lookup
    net: introduce rx_handler results and logic around that
    bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag
    bonding: wrap slave state work
    net: get rid of multiple bond-related netdevice->priv_flags
    bonding: register slave pointer for rx_handler
    be2net: Bump up the version number
    be2net: Copyright notice change. Update to Emulex instead of ServerEngines
    e1000e: fix kconfig for crc32 dependency
    netfilter ebtables: fix xt_AUDIT to work with ebtables
    xen network backend driver
    bonding: Improve syslog message at device creation time
    bonding: Call netif_carrier_off after register_netdevice
    bonding: Incorrect TX queue offset
    net_sched: fix ip_tos2prio
    xfrm: fix __xfrm_route_forward()
    be2net: Fix UDP packet detected status in RX compl
    Phonet: fix aligned-mode pipe socket buffer header reserve
    netxen: support for GbE port settings
    ...

    Fix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
    with the staging updates.

    Linus Torvalds
     
  • Make xenbus frontend device subscribe to PM events
    to receive suspend/resume/freeze/thaw/restore
    notifications.

    Signed-off-by: Kenji Wakamiya
    Signed-off-by: Kazuhiro Suzuki
    Signed-off-by: Shriram Rajagopalan
    Acked-by: Ian Campbell
    [shriram--minor mods and improved commit message]
    Signed-off-by: Konrad Rzeszutek Wilk

    Kazuhiro SUZUKI
     

16 Mar, 2011

6 commits

  • Pages that have been ballooned are useful for other Xen drivers doing
    grant table actions, because these pages have valid struct page/PFNs but
    have no valid MFN so are available for remapping.

    Acked-by: Ian Campbell
    Signed-off-by: Daniel De Graaf
    [v2: Deal with rebasing on top of modified balloon code]
    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     
  • The basic functionality of ballooning pages is useful for Xen drivers in
    general. Rather than require a dependency on the balloon module, split
    the functionality that is reused into the core. The balloon module is
    still required to follow ballooning requests from xenstore or to view
    balloon statistics in sysfs.

    Acked-by: Ian Campbell
    Signed-off-by: Daniel De Graaf
    Signed-off-by: Konrad Rzeszutek Wilk

    Daniel De Graaf
     
  • netback is the host side counterpart to the frontend driver in
    drivers/net/xen-netfront.c. The PV protocol is also implemented by
    frontend drivers in other OSes too, such as the BSDs and even Windows.

    The patch is based on the driver from the xen.git pvops kernel tree but
    has been put through the checkpatch.pl wringer plus several manual
    cleanup passes and review iterations. The driver has been moved from
    drivers/xen/netback to drivers/net/xen-netback.

    One major change from xen.git is that the guest transmit path (i.e. what
    looks like receive to netback) has been significantly reworked to remove
    the dependency on the out of tree PageForeign page flag (a core kernel
    patch which enables a per page destructor callback on the final
    put_page). This page flag was used in order to implement a grant map
    based transmit path (where guest pages are mapped directly into SKB
    frags). Instead this version of netback uses grant copy operations into
    regular memory belonging to the backend domain. Reinstating the grant
    map functionality is something which I would like to revisit in the
    future.

    Note that this driver depends on 2e820f58f7ad "xen/irq: implement
    bind_interdomain_evtchn_to_irqhandler for backend drivers" which is in
    linux next via the "xen-two" tree and is intended for the 2.6.39 merge
    window:
    git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/backends
    this branch has only that single commit since 2.6.38-rc2 and is safe for
    cross merging into the net branch.

    Signed-off-by: Ian Campbell
    Reviewed-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Ian Campbell
     
  • * 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:
    xen: suspend: remove xen_hvm_suspend
    xen: suspend: pull pre/post suspend hooks out into suspend_info
    xen: suspend: move arch specific pre/post suspend hooks into generic hooks
    xen: suspend: refactor non-arch specific pre/post suspend hooks
    xen: suspend: add "arch" to pre/post suspend hooks
    xen: suspend: pass extra hypercall argument via suspend_info struct
    xen: suspend: refactor cancellation flag into a structure
    xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding
    xen: switch to new schedop hypercall by default.
    xen: use new schedop interface for suspend
    xen: do not respond to unknown xenstore control requests
    xen: fix compile issue if XEN is enabled but XEN_PVHVM is disabled
    xen: PV on HVM: support PV spinlocks and IPIs
    xen: make the ballon driver work for hvm domains
    xen-blkfront: handle Xen major numbers other than XENVBD
    xen: do not use xen_info on HVM, set pv_info name to "Xen HVM"
    xen: no need to delay xen_setup_shutdown_event for hvm guests anymore

    Linus Torvalds
     
  • …git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

    * 'stable/ia64' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: ia64 build broken due to "xen: switch to new schedop hypercall by default."

    * 'stable/blkfront-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Union the blkif_request request specific fields

    * 'stable/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: annotate functions which only call into __init at start of day
    xen p2m: annotate variable which appears unused
    xen: events: mark cpu_evtchn_mask_p as __refdata

    Linus Torvalds
     
  • While the hypervisor change adding SCHEDOP_watchdog support included a
    daemon to make use of the new functionality, having a kernel driver
    for /dev/watchdog so that user space code doesn't need to distinguish
    non-Xen and Xen seems to be preferable.

    Signed-off-by: Jan Beulich
    Cc: Jeremy Fitzhardinge
    Signed-off-by: Wim Van Sebroeck

    Jan Beulich
     

11 Mar, 2011

8 commits


09 Mar, 2011

1 commit


28 Feb, 2011

1 commit


26 Feb, 2011

2 commits