search for: grant_ref_t

Displaying 20 results from an estimated 64 matches for "grant_ref_t".

2012 Mar 09
2
[PATCH] linux-2.6.18/gnttab: add deferred freeing logic
...seqlock.h> +#include <linux/timer.h> #include <xen/interface/xen.h> #include <xen/gnttab.h> #include <asm/pgtable.h> @@ -183,35 +184,119 @@ int gnttab_query_foreign_access(grant_re } EXPORT_SYMBOL_GPL(gnttab_query_foreign_access); -int gnttab_end_foreign_access_ref(grant_ref_t ref) +static inline int _gnttab_end_foreign_access_ref(grant_ref_t ref) { u16 flags, nflags; nflags = shared[ref].flags; do { - if ((flags = nflags) & (GTF_reading|GTF_writing)) { - printk(KERN_DEBUG "WARNING: g.e. still in use!\n"); + if ((flags = nflags) & (GTF_read...
2011 Apr 04
0
[PATCH] linux-2.6.18/backends: use xenbus_be.ko interfaces instead of open-coding them
...lt;xen/driver_util.h> #include <xen/xenbus.h> +#include <xen/interface/event_channel.h> #include "blkback-pagemap.h" @@ -93,9 +88,6 @@ typedef struct blkif_st { int st_wr_sect; wait_queue_head_t waiting_to_free; - - grant_handle_t shmem_handle; - grant_ref_t shmem_ref; } blkif_t; struct backend_info @@ -111,7 +103,7 @@ struct backend_info blkif_t *blkif_alloc(domid_t domid); void blkif_disconnect(blkif_t *blkif); void blkif_free(blkif_t *blkif); -int blkif_map(blkif_t *blkif, unsigned long shared_page, unsigned int evtchn); +int blkif_map(blk...
2012 Apr 05
0
[PATCH] xen/gnttab: add deferred freeing logic
...ot;WARNING: g.e. still in use!\n"); + if (flags & (GTF_reading|GTF_writing)) return 0; - } } while ((nflags = sync_cmpxchg(pflags, flags, 0)) != flags); return 1; @@ -458,12 +456,103 @@ static int gnttab_end_foreign_access_ref return 1; } -int gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly) +static inline int _gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly) { return gnttab_interface->end_foreign_access_ref(ref, readonly); } + +int gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly) +{ + if (_gnttab_end_foreign_access_ref(ref, readonly))...
2007 Nov 26
0
[PATCH] [Mini-OS] Make gnttab allocation/free safe
...4:48 2007 +0000 +++ b/extras/mini-os/gnttab.c Mon Nov 26 11:50:31 2007 +0000 @@ -18,6 +18,7 @@ #include <os.h> #include <mm.h> #include <gnttab.h> +#include <semaphore.h> #define NR_RESERVED_ENTRIES 8 @@ -31,20 +32,29 @@ static grant_entry_t *gnttab_table; static grant_ref_t gnttab_list[NR_GRANT_ENTRIES]; +static __DECLARE_SEMAPHORE_GENERIC(gnttab_sem, NR_GRANT_ENTRIES); static void put_free_entry(grant_ref_t ref) { + unsigned long flags; + local_irq_save(flags); gnttab_list[ref] = gnttab_list[0]; gnttab_list[0] = ref; - + local_irq_restore(fla...
2008 Jun 10
0
[PATCH] xen-netfront: fix xennet_release_tx_bufs().
...etfront.c b/drivers/net/xen-netfront.c index d26f69b..44aed80 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -92,7 +92,7 @@ struct netfront_info { */ union skb_entry { struct sk_buff *skb; - unsigned link; + unsigned long link; } tx_skbs[NET_TX_RING_SIZE]; grant_ref_t gref_tx_head; grant_ref_t grant_tx_ref[NET_TX_RING_SIZE]; @@ -125,6 +125,17 @@ struct netfront_rx_info { struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX - 1]; }; +static void skb_entry_set_link(union skb_entry *list, unsigned short id) +{ + list->link = id; +} + +static int sk...
2008 Jun 10
0
[PATCH] xen-netfront: fix xennet_release_tx_bufs().
...etfront.c b/drivers/net/xen-netfront.c index d26f69b..44aed80 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -92,7 +92,7 @@ struct netfront_info { */ union skb_entry { struct sk_buff *skb; - unsigned link; + unsigned long link; } tx_skbs[NET_TX_RING_SIZE]; grant_ref_t gref_tx_head; grant_ref_t grant_tx_ref[NET_TX_RING_SIZE]; @@ -125,6 +125,17 @@ struct netfront_rx_info { struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX - 1]; }; +static void skb_entry_set_link(union skb_entry *list, unsigned short id) +{ + list->link = id; +} + +static int sk...
2008 Jun 10
0
[PATCH] xen-netfront: fix xennet_release_tx_bufs().
...etfront.c b/drivers/net/xen-netfront.c index d26f69b..44aed80 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -92,7 +92,7 @@ struct netfront_info { */ union skb_entry { struct sk_buff *skb; - unsigned link; + unsigned long link; } tx_skbs[NET_TX_RING_SIZE]; grant_ref_t gref_tx_head; grant_ref_t grant_tx_ref[NET_TX_RING_SIZE]; @@ -125,6 +125,17 @@ struct netfront_rx_info { struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX - 1]; }; +static void skb_entry_set_link(union skb_entry *list, unsigned short id) +{ + list->link = id; +} + +static int sk...
2007 Apr 23
27
[PATCH 00/25] xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-rc7 + your patches + the last batch of pv_ops patches I posted. This patch generally restricts itself to Xen-specific parts of the tree, though it does make a few small changes elsewhere. These patches include: - some helper routines for allocating address space and walking pagetables - Xen
2007 Apr 23
27
[PATCH 00/25] xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-rc7 + your patches + the last batch of pv_ops patches I posted. This patch generally restricts itself to Xen-specific parts of the tree, though it does make a few small changes elsewhere. These patches include: - some helper routines for allocating address space and walking pagetables - Xen
2007 May 11
30
[patch 00/28]xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-git13 + patches-2.6.21-git7-070507-1.tar.gz (I think "unwinder" is the only patch which doesn't apply to git13, and the sched-clock patches are the only ones which this series actually needs). Changes since the last posting: - More netfront review and cleanup - Added ability to
2007 May 11
30
[patch 00/28]xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-git13 + patches-2.6.21-git7-070507-1.tar.gz (I think "unwinder" is the only patch which doesn't apply to git13, and the sched-clock patches are the only ones which this series actually needs). Changes since the last posting: - More netfront review and cleanup - Added ability to
2007 May 11
30
[patch 00/28]xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-git13 + patches-2.6.21-git7-070507-1.tar.gz (I think "unwinder" is the only patch which doesn't apply to git13, and the sched-clock patches are the only ones which this series actually needs). Changes since the last posting: - More netfront review and cleanup - Added ability to
2007 May 22
35
[patch 00/33] xen: Xen paravirt_ops implementation
Hi, This is the Xen implementation for the paravirt_ops interface. The series is based on 2.6.22-rc1-mm1, and I think its ready to be cooked in -mm with a view to being merged in 2.6.23. The first part of the series is some small changes to the core kernel. Apart from the new code added in "Allocate and free vmalloc areas" (posted many times before), they are simply a few one-liners
2007 May 22
35
[patch 00/33] xen: Xen paravirt_ops implementation
Hi, This is the Xen implementation for the paravirt_ops interface. The series is based on 2.6.22-rc1-mm1, and I think its ready to be cooked in -mm with a view to being merged in 2.6.23. The first part of the series is some small changes to the core kernel. Apart from the new code added in "Allocate and free vmalloc areas" (posted many times before), they are simply a few one-liners
2007 May 22
35
[patch 00/33] xen: Xen paravirt_ops implementation
Hi, This is the Xen implementation for the paravirt_ops interface. The series is based on 2.6.22-rc1-mm1, and I think its ready to be cooked in -mm with a view to being merged in 2.6.23. The first part of the series is some small changes to the core kernel. Apart from the new code added in "Allocate and free vmalloc areas" (posted many times before), they are simply a few one-liners
2007 May 04
31
[patch 00/29] xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-git3 + ff patches-2.6.21-git3-070501-1.tar.gz. Changes since the last posting: - reviews of xenbus (me), netfront (hch, rusty, herbert xu) and blockfront (hch), with most comments addressed. Netfront review revealed a couple of real bugs, and the code for all three is looking cleaner
2007 May 04
31
[patch 00/29] xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21-git3 + ff patches-2.6.21-git3-070501-1.tar.gz. Changes since the last posting: - reviews of xenbus (me), netfront (hch, rusty, herbert xu) and blockfront (hch), with most comments addressed. Netfront review revealed a couple of real bugs, and the code for all three is looking cleaner
2007 Apr 29
33
[patch 00/32] xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21 + 2.6.21-070428-1 + the patches I've posted over the last couple of days. Changes since the last posting: - update per review comments - comment each file - comment barrier use - use common cpu sibling setup - fixed a few minor bugs, specifically a traceirq mismatch warning - some
2007 Apr 29
33
[patch 00/32] xen: Xen implementation for paravirt_ops
Hi Andi, This series of patches implements the Xen paravirt-ops interface. It applies to 2.6.21 + 2.6.21-070428-1 + the patches I've posted over the last couple of days. Changes since the last posting: - update per review comments - comment each file - comment barrier use - use common cpu sibling setup - fixed a few minor bugs, specifically a traceirq mismatch warning - some
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi, This patch series implements the Linux Xen guest as a paravirt_ops backend. The features in implemented this patch series are: * domU only * UP only (most code is SMP-safe, but there's no way to create a new vcpu) * writable pagetables, with late pinning/early unpinning (no shadow pagetable support) * supports both PAE and non-PAE modes * xen hvc console (console=hvc0) *