Messages in this thread | | | Subject | Re: [patch] s390: do not use _local_bh_enable() | From | Martin Schwidefsky <> | Date | Fri, 23 Feb 2007 15:20:29 +0100 |
| |
On Fri, 2007-02-23 at 15:04 +0100, Ingo Molnar wrote: > > [...] cio_tpi and sclp_sync_wait are used to wait for the interrupt of > > the console device to make room in the buffer for a printk out of > > disabled context. > > ouch. So you want/need to wait for a specific type of interrupt, in a > section of code that has all interrupts disabled? Is this the only form > of communication to the hypervisor, for this particular purpose? It > seems to me that polling a bit in a buffer shared between the hypervisor > and the guest OS [combined with cpu_relax()] would fit this scenario > alot better (and wouldnt cause any such gymnastics to avoid regular > Linux irq processing) than waiting for an interrupt to be injected by > the hypervisor. Or is this interrupt-based interface an ABI property and > the only way to do it?
This has nothing to do with the hypervisor. Even on bare metal (that machine mode exists up to G7, newer machine always run a hypervisor) you have to deal with your console device. If this is a 3270 green-screen you have to do asynchronous i/o. To wait for some room in the console buffer translates to waiting for the interrupt of a ccw device. The memory of the machine is unchanged until the interrupt is received. So yes, ouch!
-- blue skies, IBM Deutschland Entwicklung GmbH Martin Vorsitzender des Aufsichtsrats: Johann Weihen Geschäftsführung: Herbert Kircher Martin Schwidefsky Sitz der Gesellschaft: Böblingen Linux on zSeries Registergericht: Amtsgericht Stuttgart, Development HRB 243294
"Reality continues to ruin my life." - Calvin.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |