Re: [patch 21/26] Xen-paravirt_ops: Use the hvc console infrastructure for Xen console

From: Ingo Molnar
Date: Fri Mar 16 2007 - 04:57:00 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> Implement a Xen back-end for hvc console.

> + cons = intf->out_cons;
> + prod = intf->out_prod;
> + mb();
> + BUG_ON((prod - cons) > sizeof(intf->out));
> +
> + while ((sent < len) && ((prod - cons) < sizeof(intf->out)))
> + intf->out[MASK_XENCONS_IDX(prod++, intf->out)] = data[sent++];
> +
> + wmb();
> + intf->out_prod = prod;

> + prod = intf->in_prod;
> + mb();
> + BUG_ON((prod - cons) > sizeof(intf->in));

such mb()'s are typically a sign of "i have no clear idea what SMP
serialization rules apply here, but something is needed because
otherwise it breaks" ?

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/