Displaying 20 results from an estimated 41 matches for "gnttab_end_foreign_access_ref".
2012 Mar 09
2
[PATCH] linux-2.6.18/gnttab: add deferred freeing logic
.../mm.h>
#include <linux/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) &am...
2012 Apr 05
0
[PATCH] xen/gnttab: add deferred freeing logic
...;jbeulich@suse.com>
---
drivers/xen/grant-table.c | 106 +++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 96 insertions(+), 10 deletions(-)
--- 3.4-rc1/drivers/xen/grant-table.c
+++ 3.4-rc1-xen-gnttab-deferred-end-access/drivers/xen/grant-table.c
@@ -426,10 +426,8 @@ static int gnttab_end_foreign_access_ref
nflags = *pflags;
do {
flags = nflags;
- if (flags & (GTF_reading|GTF_writing)) {
- printk(KERN_ALERT "WARNING: g.e. still in use!\n");
+ if (flags & (GTF_reading|GTF_writing))
return 0;
- }
} while ((nflags = sync_cmpxchg(pflags, flags, 0)) != flags);
return...
2012 Oct 22
4
xen_evtchn_do_upcall
...le_irq_event_percpu() {
1) | xennet_interrupt() {
1) 0.125 us | _raw_spin_lock_irqsave();
1) | xennet_tx_buf_gc() {
1) 0.079 us | gnttab_query_foreign_access();
1) 0.050 us | gnttab_end_foreign_access_ref();
1) 0.069 us | gnttab_release_grant_reference();
1) | dev_kfree_skb_irq() {
1) 0.055 us | raise_softirq_irqoff();
1) 0.472 us | }
1) 0.049 us | gnttab_query_foreign_access...
2007 Nov 14
0
linux xen 3.1.0 dom0 / solaris domU PV install from usb dvd reader
...s Interactive Text (Console session)
Using RPC Bootparams for network configuration information.
Attempting to configure interface xnf0...
Reading ZFS config: done.
ERROR: Cannot find install software, Exiting to shell
#
The message "WARNING: g.e. still in use!" is unusual, it is from
gnttab_end_foreign_access_ref+0x55, with this stack backtrace
[0]> $c
gnttab_end_foreign_access_ref+0x55(20a, 0)
xvdi_free_ring+0x1d(ffffff00c7923150)
xdf`xdf_post_disconnect+0x36(ffffff00c73a9200)
xdf`xdf_oe_change+0x17e(ffffff00c679e250, ffffff00c6c63be0, 0, ffffff0002377bc4)
ndi_event_run_callbacks+0x94(ffffff00c48610c0...
2013 Jun 28
3
[PATCH next] xen: Use more current logging styles
...t_tx_ref[id]) != 0)) {
- printk(KERN_ALERT "xennet_tx_buf_gc: warning "
- "-- grant still in use by backend "
- "domain.\n");
+ pr_alert("%s: warning -- grant still in use by backend domain\n",
+ __func__);
BUG();
}
gnttab_end_foreign_access_ref(
@@ -804,14 +805,14 @@ static int xennet_set_skb_gso(struct sk_buff *skb,
{
if (!gso->u.gso.size) {
if (net_ratelimit())
- printk(KERN_WARNING "GSO size must not be zero.\n");
+ pr_warn("GSO size must not be zero\n");
return -EINVAL;
}
/* Currently only TCP...
2013 Jun 28
3
[PATCH next] xen: Use more current logging styles
...t_tx_ref[id]) != 0)) {
- printk(KERN_ALERT "xennet_tx_buf_gc: warning "
- "-- grant still in use by backend "
- "domain.\n");
+ pr_alert("%s: warning -- grant still in use by backend domain\n",
+ __func__);
BUG();
}
gnttab_end_foreign_access_ref(
@@ -804,14 +805,14 @@ static int xennet_set_skb_gso(struct sk_buff *skb,
{
if (!gso->u.gso.size) {
if (net_ratelimit())
- printk(KERN_WARNING "GSO size must not be zero.\n");
+ pr_warn("GSO size must not be zero\n");
return -EINVAL;
}
/* Currently only TCP...
2013 Jun 28
3
[PATCH next] xen: Use more current logging styles
...t_tx_ref[id]) != 0)) {
- printk(KERN_ALERT "xennet_tx_buf_gc: warning "
- "-- grant still in use by backend "
- "domain.\n");
+ pr_alert("%s: warning -- grant still in use by backend domain\n",
+ __func__);
BUG();
}
gnttab_end_foreign_access_ref(
@@ -804,14 +805,14 @@ static int xennet_set_skb_gso(struct sk_buff *skb,
{
if (!gso->u.gso.size) {
if (net_ratelimit())
- printk(KERN_WARNING "GSO size must not be zero.\n");
+ pr_warn("GSO size must not be zero\n");
return -EINVAL;
}
/* Currently only TCP...
2013 May 21
1
[PATCH net-next V2 2/2] xen-netfront: split event channels support for Xen frontend driver
...- if (err < 0)
- goto bind_fail;
- netdev->irq = err;
return 0;
/* If we fail to setup netfront, it is safe to just revoke access to
* granted pages because backend is not accessing it at this point.
*/
-bind_fail:
- xenbus_free_evtchn(dev, info->evtchn);
alloc_evtchn_fail:
gnttab_end_foreign_access_ref(info->rx_ring_ref, 0);
grant_rx_ring_fail:
@@ -1610,11 +1707,27 @@ again:
message = "writing rx ring-ref";
goto abort_transaction;
}
- err = xenbus_printf(xbt, dev->nodename,
- "event-channel", "%u", info->evtchn);
- if (err) {
- message = &quo...
2012 Mar 05
11
[PATCH 0001/001] xen: multi page ring support for block devices
...xenbus_dev_fatal(dev, err,
+ "granting access to ring page");
+ goto fail;
+ }
+ grefs[i] = err;
+ }
+
+ return 0;
+
+fail:
+ for ( ; i >= 0; i--)
+ gnttab_end_foreign_access_ref(grefs[i], 0);
return err;
}
EXPORT_SYMBOL_GPL(xenbus_grant_ring);
@@ -447,7 +470,8 @@ EXPORT_SYMBOL_GPL(xenbus_free_evtchn);
/**
* xenbus_map_ring_valloc
* @dev: xenbus device
- * @gnt_ref: grant reference
+ * @gnt_ref: grant reference array
+ * @nr_grefs: number of grant reference...
2012 Mar 05
11
[PATCH 0001/001] xen: multi page ring support for block devices
...xenbus_dev_fatal(dev, err,
+ "granting access to ring page");
+ goto fail;
+ }
+ grefs[i] = err;
+ }
+
+ return 0;
+
+fail:
+ for ( ; i >= 0; i--)
+ gnttab_end_foreign_access_ref(grefs[i], 0);
return err;
}
EXPORT_SYMBOL_GPL(xenbus_grant_ring);
@@ -447,7 +470,8 @@ EXPORT_SYMBOL_GPL(xenbus_free_evtchn);
/**
* xenbus_map_ring_valloc
* @dev: xenbus device
- * @gnt_ref: grant reference
+ * @gnt_ref: grant reference array
+ * @nr_grefs: number of grant reference...
2012 Mar 05
11
[PATCH 0001/001] xen: multi page ring support for block devices
...xenbus_dev_fatal(dev, err,
+ "granting access to ring page");
+ goto fail;
+ }
+ grefs[i] = err;
+ }
+
+ return 0;
+
+fail:
+ for ( ; i >= 0; i--)
+ gnttab_end_foreign_access_ref(grefs[i], 0);
return err;
}
EXPORT_SYMBOL_GPL(xenbus_grant_ring);
@@ -447,7 +470,8 @@ EXPORT_SYMBOL_GPL(xenbus_free_evtchn);
/**
* xenbus_map_ring_valloc
* @dev: xenbus device
- * @gnt_ref: grant reference
+ * @gnt_ref: grant reference array
+ * @nr_grefs: number of grant reference...
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)
*
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)
*
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)
*
2007 Apr 18
25
[patch 00/21] Xen-paravirt: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. 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 console
* virtual
2007 Apr 18
25
[patch 00/21] Xen-paravirt: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. 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 console
* virtual
2007 Apr 18
25
[patch 00/21] Xen-paravirt: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. 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 console
* virtual
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 Apr 18
34
[patch 00/26] 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)
*