qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Add compat eventfd header


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH] Add compat eventfd header
Date: Wed, 29 Jun 2011 16:59:52 +0300
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Jun 29, 2011 at 03:22:33PM +0200, Alexander Graf wrote:
> 
> On 29.06.2011, at 15:11, Michael S. Tsirkin wrote:
> 
> > On Wed, Jun 29, 2011 at 03:02:46PM +0200, Alexander Graf wrote:
> >> 
> >> On 28.06.2011, at 17:35, Michael S. Tsirkin wrote:
> >> 
> >>> Support build on RHEL 5.X where we have syscall for eventfd but not
> >>> userspace wrapper.
> >>> 
> >>> (cherry-picked from commit 9e3269181e9bc56feb43bcd4e8ce0b82cd543e65
> >>> in qemu-kvm.git).
> >>> 
> >>> Signed-off-by: Michael S. Tsirkin <address@hidden>
> >>> ---
> >>> compat/sys/eventfd.h |   13 +++++++++++++
> >>> configure            |    4 +++
> >>> 2 files changed, 16 insertions(+), 0 deletions(-)
> >>> create mode 100644 compat/sys/eventfd.h
> >>> 
> >>> diff --git a/compat/sys/eventfd.h b/compat/sys/eventfd.h
> >>> new file mode 100644
> >>> index 0000000..f55d96a
> >>> --- /dev/null
> >>> +++ b/compat/sys/eventfd.h
> >>> @@ -0,0 +1,13 @@
> >>> +#ifndef _COMPAT_SYS_EVENTFD
> >>> +#define _COMPAT_SYS_EVENTFD
> >>> +
> >>> +#include <unistd.h>
> >>> +#include <syscall.h>
> >>> +
> >>> +
> >>> +static inline int eventfd (int count, int flags)
> >> 
> >> coding style seems wrong.
> > 
> > What exactly? Two empty lines?
> 
> The space between d and ( I'd say. Just put it in checkpatch and verify it :).

Will fix.

> > 
> >> However, I'm not sure I like the idea of adding this code in qemu. 
> >> Wouldn't the RHEL5 libc be a better place for such a wrapper?
> >> 
> >> 
> >> Alex
> > 
> > My guess (I don't speak for red hat here) is that's unlikely to be
> > patched anytime soon.  It helps me when I need to use such a box,
> > and the cost seems negligeable. What's the drawback?
> 
> Well, you need to make sure that it only gets included on Linux systems and 
> if there's ever some more compatibility wrapping around the syscall 
> (unlikely, but you never know), this could potentially break.

Nope, this gets included last (-idirafter) so if it breaks it's broken
anyway.

> Also, who defines SYS_eventfd? What if you're trying to build this code on 
> SLES10 for example, which does not have the syscall and thus doesn't have it 
> defined? Would compilation simply break?
> 
> 
> Alex

Here's what happens:
1. configure runs
2. configure tries to compile a test program
        - if eventfd.h exists in system compat is ignored
        - if eventfd.h does not exist in system compat is used
        - if compat is used but does build program does not compile
        - if program does not compile eventfd is disabled

3. now build starts
        - if we had trouble compiling stuff eventfd gets disabled

I think the setup is highly safe.

-- 
MST



reply via email to

[Prev in Thread] Current Thread [Next in Thread]