11 Jan, 2012

1 commit

  • * 'stable/for-linus-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (37 commits)
    xen/pciback: Expand the warning message to include domain id.
    xen/pciback: Fix "device has been assigned to X domain!" warning
    xen/pciback: Move the PCI_DEV_FLAGS_ASSIGNED ops to the "[un|]bind"
    xen/xenbus: don't reimplement kvasprintf via a fixed size buffer
    xenbus: maximum buffer size is XENSTORE_PAYLOAD_MAX
    xen/xenbus: Reject replies with payload > XENSTORE_PAYLOAD_MAX.
    Xen: consolidate and simplify struct xenbus_driver instantiation
    xen-gntalloc: introduce missing kfree
    xen/xenbus: Fix compile error - missing header for xen_initial_domain()
    xen/netback: Enable netback on HVM guests
    xen/grant-table: Support mappings required by blkback
    xenbus: Use grant-table wrapper functions
    xenbus: Support HVM backends
    xen/xenbus-frontend: Fix compile error with randconfig
    xen/xenbus-frontend: Make error message more clear
    xen/privcmd: Remove unused support for arch specific privcmp mmap
    xen: Add xenbus_backend device
    xen: Add xenbus device driver
    xen: Add privcmd device driver
    xen/gntalloc: fix reference counts on multi-page mappings
    ...

    Linus Torvalds
     

06 Jan, 2012

1 commit


05 Jan, 2012

1 commit

  • The 'name', 'owner', and 'mod_name' members are redundant with the
    identically named fields in the 'driver' sub-structure. Rather than
    switching each instance to specify these fields explicitly, introduce
    a macro to simplify this.

    Eliminate further redundancy by allowing the drvname argument to
    DEFINE_XENBUS_DRIVER() to be blank (in which case the first entry from
    the ID table will be used for .driver.name).

    Also eliminate the questionable xenbus_register_{back,front}end()
    wrappers - their sole remaining purpose was the checking of the
    'owner' field, proper setting of which shouldn't be an issue anymore
    when the macro gets used.

    v2: Restore DRV_NAME for the driver name in xen-pciback.

    Signed-off-by: Jan Beulich
    Cc: Jens Axboe
    Cc: Dmitry Torokhov
    Cc: Florian Tobias Schandinat
    Cc: Ian Campbell
    Cc: David S. Miller
    Signed-off-by: Konrad Rzeszutek Wilk

    Jan Beulich
     

21 Dec, 2011

1 commit


07 Dec, 2011

3 commits


06 Dec, 2011

1 commit

  • The original message in netback_init was 'kthread_run() fails', which should be
    'kthread_create() fails'.

    Signed-off-by: Wei Liu
    Acked-by: Ian Campbell
    Signed-off-by: David S. Miller

    Wei Liu
     

27 Nov, 2011

1 commit


22 Nov, 2011

1 commit


17 Nov, 2011

1 commit


07 Nov, 2011

1 commit


26 Oct, 2011

1 commit


19 Oct, 2011

1 commit

  • To ease skb->truesize sanitization, its better to be able to localize
    all references to skb frags size.

    Define accessors : skb_frag_size() to fetch frag size, and
    skb_frag_size_{set|add|sub}() to manipulate it.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

08 Oct, 2011

1 commit


06 Oct, 2011

1 commit

  • netback currently uses frag->page to store a temporary index reference while
    processing incoming requests. Since frag->page is to become opaque switch
    instead to using page_offset. Add a wrapper to tidy this up and propagate the
    fact that the indexes are only u16 through the code (this was already true in
    practice but unsigned long and in were inconsistently used as variable and
    parameter types)

    Signed-off-by: Ian Campbell
    Cc: Ian Campbell
    Cc: xen-devel@lists.xensource.com
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller

    Ian Campbell
     

04 Oct, 2011

1 commit

  • If a VM is saved and restored (or migrated) the netback driver will no
    longer process any Tx packets from the frontend. xenvif_up() does not
    schedule the processing of any pending Tx requests from the front end
    because the carrier is off. Without this initial kick the frontend
    just adds Tx requests to the ring without raising an event (until the
    ring is full).

    This was caused by 47103041e91794acdbc6165da0ae288d844c820b (net:
    xen-netback: convert to hw_features) which reordered the calls to
    xenvif_up() and netif_carrier_on() in xenvif_connect().

    Signed-off-by: David Vrabel
    Cc: Ian Campbell
    Acked-by: Ian Campbell
    Signed-off-by: David S. Miller

    David Vrabel
     

01 Jul, 2011

1 commit


18 May, 2011

1 commit

  • The later causes warnings with gcc 4.5+. __CONST_RING_SIZE was introduced in
    667c78afaec0 to fix this but as netback wasn't upstream at the time it did not
    benefit, hence:

    CC drivers/net/xen-netback/netback.o
    drivers/net/xen-netback/netback.c:110:37: warning: variably modified 'grant_copy_op' at file scope [enabled by default]
    drivers/net/xen-netback/netback.c:111:30: warning: variably modified 'meta' at file scope [enabled by default]
    drivers/net/xen-netback/netback.c: In function 'xen_netbk_rx_action':
    drivers/net/xen-netback/netback.c:584:6: warning: variable 'irq' set but not used [-Wunused-but-set-variable]

    Thanks to Witold Baryluk for pointing this out.

    Signed-off-by: Ian Campbell
    Cc: Witold Baryluk
    Signed-off-by: David S. Miller

    Ian Campbell
     

20 Apr, 2011

1 commit


07 Apr, 2011

1 commit


16 Mar, 2011

1 commit

  • 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