This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] VIRQ_CON_RING

To: Jan Beulich <JBeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] VIRQ_CON_RING
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Thu, 12 Nov 2009 16:03:26 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 12 Nov 2009 08:03:41 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4AFC3812020000780001F594@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcpjrQYYa60gsrFpQIKkxhE15ecf0gABKS+B
Thread-topic: [Xen-devel] VIRQ_CON_RING
User-agent: Microsoft-Entourage/
On 12/11/2009 15:30, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote:

>> Seems to me the issue is as much the extreme load you put on printk as it is
>> printk's overhead.
> I don't think so: Since __putstr() calls tasklet_schedule() directly and
> (basically) unconditionally, it is clear that after every printk()
> hypercall_preempt_check() will return true, and hence placing one
> anywhere before such a check will make sure that preemption is going
> to happen. Since the code path will be the same after the continuation
> hypercall got invoked, it is impossible to make any progress if the
> preemption check is placed at the beginning of a handler/loop (and
> even if, like in alloc_l[34]_table(), it is placed after having done at
> least one iteration, progress is possibly going to be unnoticeable).

Well there is that, but who unconditionally prints at the start of a
hypercall? Only someone doing very specific and verbose debugging.

 -- Keir

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>