From: Andrew Stiegmann <astiegmann@vmware.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: pv-drivers@vmware.com, gregkh@linuxfoundation.org,
linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org,
vm-crosstalk@vmware.com, cschamp@vmware.com
Subject: Re: [vmw_vmci 11/11] Apply the header code to make VMCI build
Date: Fri, 27 Jul 2012 13:07:07 -0700 (PDT) [thread overview]
Message-ID: <1365693798.5911635.1343419627088.JavaMail.root@vmware.com> (raw)
In-Reply-To: <20120727195320.GA5822@merkur.ravnborg.org>
----- Original Message -----
> From: "Sam Ravnborg" <sam@ravnborg.org>
> To: "Andrew Stiegmann" <astiegmann@vmware.com>
> Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, pv-drivers@vmware.com,
> vm-crosstalk@vmware.com, cschamp@vmware.com, gregkh@linuxfoundation.org
> Sent: Friday, July 27, 2012 12:53:20 PM
> Subject: Re: [vmw_vmci 11/11] Apply the header code to make VMCI build
>
> > > > +
> > > > +#define CAN_BLOCK(_f) (!((_f) & VMCI_QPFLAG_NONBLOCK))
> > > > +#define QP_PINNED(_f) ((_f) & VMCI_QPFLAG_PINNED)
> > >
> > > Looks like poor obscufation.
> > > Use a statis inline function if you need a helper for this.
> >
> > These definitions are intended more as a helper to make reading the
> > code easier. IMHO ts a lot easier to read
> >
> > if (CAN_BLOCK(flags))
> >
> > compared to
> >
> > if (!(flags & VMCI_QPFLAG_NONBLOCK))
> >
> > Wouldn't you agree? I'm not sure something this simple warrants a
> > static inline
> > function but I don't see any harm in converting it over to that.
>
> I would put it the other way around. I cannot see that such simple
> stuff warrants a #define.
> A static inline is (almost) always preferable to hide code in a
> macro.
>
> For once you get better type-checks.
> And semantics are also much simpler. With a macro you can do so many
> silly things.
Fair enough. I'll make them into static inline functions.
> Sam
>
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Stiegmann <astiegmann@vmware.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, pv-drivers@vmware.com,
vm-crosstalk@vmware.com, cschamp@vmware.com,
gregkh@linuxfoundation.org
Subject: Re: [vmw_vmci 11/11] Apply the header code to make VMCI build
Date: Fri, 27 Jul 2012 13:07:07 -0700 (PDT) [thread overview]
Message-ID: <1365693798.5911635.1343419627088.JavaMail.root@vmware.com> (raw)
In-Reply-To: <20120727195320.GA5822@merkur.ravnborg.org>
----- Original Message -----
> From: "Sam Ravnborg" <sam@ravnborg.org>
> To: "Andrew Stiegmann" <astiegmann@vmware.com>
> Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, pv-drivers@vmware.com,
> vm-crosstalk@vmware.com, cschamp@vmware.com, gregkh@linuxfoundation.org
> Sent: Friday, July 27, 2012 12:53:20 PM
> Subject: Re: [vmw_vmci 11/11] Apply the header code to make VMCI build
>
> > > > +
> > > > +#define CAN_BLOCK(_f) (!((_f) & VMCI_QPFLAG_NONBLOCK))
> > > > +#define QP_PINNED(_f) ((_f) & VMCI_QPFLAG_PINNED)
> > >
> > > Looks like poor obscufation.
> > > Use a statis inline function if you need a helper for this.
> >
> > These definitions are intended more as a helper to make reading the
> > code easier. IMHO ts a lot easier to read
> >
> > if (CAN_BLOCK(flags))
> >
> > compared to
> >
> > if (!(flags & VMCI_QPFLAG_NONBLOCK))
> >
> > Wouldn't you agree? I'm not sure something this simple warrants a
> > static inline
> > function but I don't see any harm in converting it over to that.
>
> I would put it the other way around. I cannot see that such simple
> stuff warrants a #define.
> A static inline is (almost) always preferable to hide code in a
> macro.
>
> For once you get better type-checks.
> And semantics are also much simpler. With a macro you can do so many
> silly things.
Fair enough. I'll make them into static inline functions.
> Sam
>
next prev parent reply other threads:[~2012-07-27 20:07 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-26 23:39 [vmw_vmci 00/11] VMCI for Linux Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 01/11] Apply VMCI context code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:48 ` Greg KH
2012-07-26 23:48 ` Greg KH
2012-07-27 0:01 ` Andrew Stiegmann
2012-07-27 0:01 ` Andrew Stiegmann
2012-07-26 23:39 ` [vmw_vmci 02/11] Apply VMCI datagram code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 03/11] Apply VMCI doorbell code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 04/11] Apply VMCI driver code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 05/11] Apply VMCI event code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 06/11] Apply dynamic array code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 07/11] Apply VMCI hash table Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:49 ` Greg KH
2012-07-26 23:49 ` Greg KH
2012-07-27 0:01 ` Andrew Stiegmann
2012-07-27 0:01 ` Andrew Stiegmann
2012-07-26 23:39 ` [vmw_vmci 08/11] Apply VMCI queue pairs Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 09/11] Apply VMCI resource code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 10/11] Apply vmci routing code Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:39 ` [vmw_vmci 11/11] Apply the header code to make VMCI build Andrew Stiegmann (stieg)
2012-07-26 23:39 ` Andrew Stiegmann (stieg)
2012-07-26 23:56 ` Greg KH
2012-07-26 23:56 ` Greg KH
2012-07-27 9:53 ` Alan Cox
2012-07-27 9:53 ` Alan Cox
2012-07-27 18:04 ` [Pv-drivers] " Dmitry Torokhov
2012-07-27 18:04 ` Dmitry Torokhov
2012-07-27 10:34 ` Sam Ravnborg
2012-07-27 17:20 ` Andrew Stiegmann
2012-07-27 17:20 ` Andrew Stiegmann
2012-07-27 18:16 ` Greg KH
2012-07-27 18:16 ` Greg KH
2012-07-27 18:39 ` Andrew Stiegmann
2012-07-27 18:39 ` Andrew Stiegmann
2012-07-27 18:52 ` Greg KH
2012-07-27 18:52 ` Greg KH
2012-07-27 20:29 ` [Pv-drivers] " Dmitry Torokhov
2012-07-27 20:29 ` Dmitry Torokhov
2012-07-28 19:55 ` Greg KH
2012-07-28 19:55 ` Greg KH
2012-07-28 21:10 ` Dmitry Torokhov
2012-07-28 21:10 ` Dmitry Torokhov
2012-07-27 19:53 ` Sam Ravnborg
2012-07-27 19:53 ` Sam Ravnborg
2012-07-27 20:07 ` Andrew Stiegmann [this message]
2012-07-27 20:07 ` Andrew Stiegmann
2012-08-02 19:50 ` Jan Engelhardt
2012-08-02 19:50 ` Jan Engelhardt
2012-08-02 20:22 ` Sam Ravnborg
2012-08-02 20:22 ` Sam Ravnborg
2012-08-15 20:45 ` Jan Engelhardt
2012-08-15 20:45 ` Jan Engelhardt
2012-07-27 10:34 ` Sam Ravnborg
2012-07-26 23:47 ` [vmw_vmci 00/11] VMCI for Linux Greg KH
2012-07-26 23:47 ` Greg KH
2012-07-27 1:06 ` Josh Boyer
2012-07-27 1:46 ` Greg KH
2012-07-27 1:46 ` Greg KH
2012-07-31 12:48 ` Josh Boyer
2012-07-31 12:48 ` Josh Boyer
2012-07-27 1:06 ` Josh Boyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1365693798.5911635.1343419627088.JavaMail.root@vmware.com \
--to=astiegmann@vmware.com \
--cc=cschamp@vmware.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pv-drivers@vmware.com \
--cc=sam@ravnborg.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=vm-crosstalk@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.