Hi Cong,

On Wed, May 20, 2015, at 22:59, Cong Wang wrote:
> On Wed, May 20, 2015 at 8:35 AM, Hannes Frederic Sowa
> <han...@stressinduktion.org> wrote:
> >
> > -static int unix_stream_recvmsg(struct socket *sock, struct msghdr *msg,
> > -                              size_t size, int flags)
> > +struct unix_stream_read_state {
> > +       int (*recv_actor)(struct sk_buff *, int, int,
> > +                         struct unix_stream_read_state *);
> > +       struct socket *socket;
> > +       struct msghdr *msg;
> > +       struct pipe_inode_info *pipe;
> > +       size_t size;
> > +       int flags;
> > +       unsigned int splice_flags;
> > +};
> > +
> > +static __always_inline
> > +int unix_stream_read_generic(struct unix_stream_read_state *state)
> 
> 
> Why __always_inline here?

During benchmarking I discovered that the simple ordinary recvmsg case
lost a bit in performance because of the indirection. With
__always_inline -ing unix_stream_read_generic I got it to almost the
same numbers again as without the change. Thus I decided to leave it
there.

Also, thank you for your other feedback. I will address it soon after
letting the patches receiving a bit more feedback.

Thanks,
Hannes
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to