|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] VIRQ_CON_RING
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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|