Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 05/31/2011 04:47 PM, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. We have O_ASYNC in enable_sigio_timer(). That's only used with HPET host timers, which should be very rare. To be on the safe side I think we should take in the patch, and drop SIGIO support completely only if we decide the hpet host timer is not worth supporting. -- error compiling committee.c: too many arguments to function
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 05/31/2011 09:06 AM, Jan Kiszka wrote: On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. Regards, Anthony Liguori Jan
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 2011-05-31 16:26, Anthony Liguori wrote: On 05/31/2011 09:06 AM, Jan Kiszka wrote: On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 31.05.2011, at 16:54, Jan Kiszka wrote: On 2011-05-31 16:26, Anthony Liguori wrote: On 05/31/2011 09:06 AM, Jan Kiszka wrote: On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. So the obvious change would be to introduce CONFIG_HPET, ifdef the SIGIO handling on that and also ifdef the host hpet handling code on it? That way it's documented well and can preferably even be turned off with --disable-host-hpet during configure time, which we can then slowly turn to the default. Alex
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 05/31/2011 10:44 AM, Alexander Graf wrote: On 31.05.2011, at 16:54, Jan Kiszka wrote: On 2011-05-31 16:26, Anthony Liguori wrote: On 05/31/2011 09:06 AM, Jan Kiszka wrote: On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. So the obvious change would be to introduce CONFIG_HPET, ifdef the SIGIO handling on that and also ifdef the host hpet handling code on it? That way it's documented well and can preferably even be turned off with --disable-host-hpet during configure time, which we can then slowly turn to the default. Or just remove hpet and rtc. Does anyone really object to that? Regards, Anthony Liguori Alex
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 31.05.2011, at 17:48, Anthony Liguori wrote: On 05/31/2011 10:44 AM, Alexander Graf wrote: On 31.05.2011, at 16:54, Jan Kiszka wrote: On 2011-05-31 16:26, Anthony Liguori wrote: On 05/31/2011 09:06 AM, Jan Kiszka wrote: On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. So the obvious change would be to introduce CONFIG_HPET, ifdef the SIGIO handling on that and also ifdef the host hpet handling code on it? That way it's documented well and can preferably even be turned off with --disable-host-hpet during configure time, which we can then slowly turn to the default. Or just remove hpet and rtc. Does anyone really object to that? Do RHEL5 and SLES10 support dynticks? If yes, no objections. They're the oldest really supported distros we should possibly remotely even care about. Alex
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
Am 31.05.2011 um 21:49 schrieb Anthony Liguori: On 05/31/2011 11:16 AM, Alexander Graf wrote: On 31.05.2011, at 17:48, Anthony Liguori wrote: On 05/31/2011 10:44 AM, Alexander Graf wrote: On 31.05.2011, at 16:54, Jan Kiszka wrote: On 2011-05-31 16:26, Anthony Liguori wrote: Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. So the obvious change would be to introduce CONFIG_HPET, ifdef the SIGIO handling on that and also ifdef the host hpet handling code on it? That way it's documented well and can preferably even be turned off with --disable-host-hpet during configure time, which we can then slowly turn to the default. Or just remove hpet and rtc. Does anyone really object to that? --verbose please: We're not talking about removal of emulation of such acronyms for i386 guests, but about ceasing to use some Linux- only host facilities, right? Do RHEL5 and SLES10 support dynticks? If yes, no objections. They're the oldest really supported distros we should possibly remotely even care about. Yes, they do. But it's not as accurate as RTC/HPET because there is no CONFIG_HRTIMERS. But the problem with RTC/HPET is that there is only one /dev/rtc and one /dev/hpet so only one guest can use it at any given time. It's really not a generally useful solution. At one point in time, it was the only way to get a high res clock. Now, it Just Works provided you don't have an ancient kernel. I'm curious, what's ancient these days? 2.6.29 or more like 2.4.x? Andreas
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
Am 31.05.2011 um 15:47 schrieb Anthony Liguori: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... The way I saw it, it didn't change signal behavior on Linux, Darwin, BSD, etc. hosts (where SIGIO must've been defined) and trivially unbroke not-yet-fully-supported Haiku host. Andreas
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 05/31/2011 11:16 AM, Alexander Graf wrote: On 31.05.2011, at 17:48, Anthony Liguori wrote: On 05/31/2011 10:44 AM, Alexander Graf wrote: On 31.05.2011, at 16:54, Jan Kiszka wrote: On 2011-05-31 16:26, Anthony Liguori wrote: On 05/31/2011 09:06 AM, Jan Kiszka wrote: On 2011-05-31 15:47, Anthony Liguori wrote: On 05/29/2011 04:50 PM, Andreas Färber wrote: BeOS and Haiku don't define SIGIO. When undefined, it won't arrive and doesn't need to be blocked. Signed-off-by: Andreas Färberandreas.faer...@web.de Anything to do with signal masks is never a trivial patch BTW... But I actually think explicit handling of SIGIO is unneeded. I think this is a hold over from the pre-I/O thread days where we selectively set SIGIO on certain file descriptors to make sure that when an IO fd became readable, we received a signal to break out of the KVM emulation loop. Can the folks on CC confirm/deny? I can't see any use of SIGIO in the current source tree. At least qemu-timer.c uses SIGIO in HPET mode. That only applies to Linux hosts, though. Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. So the obvious change would be to introduce CONFIG_HPET, ifdef the SIGIO handling on that and also ifdef the host hpet handling code on it? That way it's documented well and can preferably even be turned off with --disable-host-hpet during configure time, which we can then slowly turn to the default. Or just remove hpet and rtc. Does anyone really object to that? Do RHEL5 and SLES10 support dynticks? If yes, no objections. They're the oldest really supported distros we should possibly remotely even care about. Yes, they do. But it's not as accurate as RTC/HPET because there is no CONFIG_HRTIMERS. But the problem with RTC/HPET is that there is only one /dev/rtc and one /dev/hpet so only one guest can use it at any given time. It's really not a generally useful solution. At one point in time, it was the only way to get a high res clock. Now, it Just Works provided you don't have an ancient kernel. Regards, Anthony Liguori
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 2011-05-31 23:11, Andreas Färber wrote: Am 31.05.2011 um 21:49 schrieb Anthony Liguori: On 05/31/2011 11:16 AM, Alexander Graf wrote: On 31.05.2011, at 17:48, Anthony Liguori wrote: On 05/31/2011 10:44 AM, Alexander Graf wrote: On 31.05.2011, at 16:54, Jan Kiszka wrote: On 2011-05-31 16:26, Anthony Liguori wrote: Is there any reason we still carry multiple timer implementations these days? HPET shouldn't be any better than dynticks. On any recent kernel, for sure. BTW, the same applies to the RTC timer. So the obvious change would be to introduce CONFIG_HPET, ifdef the SIGIO handling on that and also ifdef the host hpet handling code on it? That way it's documented well and can preferably even be turned off with --disable-host-hpet during configure time, which we can then slowly turn to the default. Or just remove hpet and rtc. Does anyone really object to that? --verbose please: We're not talking about removal of emulation of such acronyms for i386 guests, but about ceasing to use some Linux-only host facilities, right? Right. Do RHEL5 and SLES10 support dynticks? If yes, no objections. They're the oldest really supported distros we should possibly remotely even care about. Yes, they do. But it's not as accurate as RTC/HPET because there is no CONFIG_HRTIMERS. But the problem with RTC/HPET is that there is only one /dev/rtc and one /dev/hpet so only one guest can use it at any given time. It's really not a generally useful solution. At one point in time, it was the only way to get a high res clock. Now, it Just Works provided you don't have an ancient kernel. I'm curious, what's ancient these days? 2.6.29 or more like 2.4.x? IIRC, highres timers started to work around 2.6.24 on x86. Anyone on such an old kernel is likely also not interested in updating QEMU. Jan signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] [PATCH] Use SIGIO with caution
On 05/31/2011 04:43 PM, Jan Kiszka wrote: On 2011-05-31 23:11, Andreas Färber wrote: Am 31.05.2011 um 21:49 schrieb Anthony Liguori: At one point in time, it was the only way to get a high res clock. Now, it Just Works provided you don't have an ancient kernel. I'm curious, what's ancient these days? 2.6.29 or more like 2.4.x? IIRC, highres timers started to work around 2.6.24 on x86. Anyone on such an old kernel is likely also not interested in updating QEMU. Yeah, 2.6.24 is ancient now that we're in the 3.0 world ;-) Regards, Anthony Liguori Jan