Re: [patch 18/21] Xen-paravirt: Add Xen grant table support
From: Jeremy Fitzhardinge <hidden>
Date: 2007-02-16 06:58:04
Also in:
lkml, xen-devel
From: Jeremy Fitzhardinge <hidden>
Date: 2007-02-16 06:58:04
Also in:
lkml, xen-devel
Andrew Morton wrote:
On Thu, 15 Feb 2007 18:25:07 -0800 Jeremy Fitzhardinge [off-list ref] wrote:quoted
+int gnttab_grant_foreign_access(domid_t domid, unsigned long frame, + int readonly) +{ + int ref; + + if (unlikely((ref = get_free_entry()) == -1)) + return -ENOSPC; + + shared[ref].frame = frame; + shared[ref].domid = domid; + wmb(); + shared[ref].flags = GTF_permit_access | (readonly ? GTF_readonly : 0); + + return ref; +} +EXPORT_SYMBOL_GPL(gnttab_grant_foreign_access);We have lots of open-coded mysteriously unexplained barriers in here. I assume they're not smp_wmb() because this could be a !SMP guest talking to an SMP host?
Yeah. The grant tables refer to pages which are shared with other
domains, so they could be running on other cpus even if this domain is
UP. There's a lockless protocol going on here, but I'll need to look it
up and sprinkle some comments.
J