From: "Michael Kerrisk (man-pages)" <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Arnaldo Carvalho de Melo
<acme-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>,
David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
neleai-9Vj9tDbzfuSlVyrhU4qvOw@public.gmane.org,
caitlin.bestler-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org,
eliedebrauwer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
steve-TMeXKDtMCpxBDgjK7y7TUQ@public.gmane.org,
remi.denis-courmont-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org,
paul-r2n+y4ga6xFZroRs9YW3xA@public.gmane.org,
chris.friesen-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org
Subject: Re: [PATCH/RFC] Re: recvmmsg() timeout behavior strangeness [RESEND]
Date: Sat, 24 May 2014 08:13:18 +0200 [thread overview]
Message-ID: <5380387E.50308@gmail.com> (raw)
In-Reply-To: <20140523195522.GH2741-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
On 05/23/2014 09:55 PM, Arnaldo Carvalho de Melo wrote:
> Em Fri, May 23, 2014 at 03:00:55PM -0400, David Miller escreveu:
>> From: Arnaldo Carvalho de Melo <acme-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> Date: Wed, 21 May 2014 18:05:35 -0300
>
>>> But after thinking a bit more, looks like we need to do that, please
>>> take a look at the attached patch to see if it addresses the problem.
>
>>> Mostly it adds a new timeop to the per protocol recvmsg()
>>> implementations, that, if not NULL, should be used instead of
>>> SO_RCVTIMEO.
>
>>> since the underlying recvmsg implementations already check that timeout,
>>> return what is remaining, that will then be used in subsequent recvmsg
>>> calls, at the end we just convert it back to timespec format.
>
>>> In most cases it is just passed to skb_recv_datagram, that will check
>>> the pointer, use it and update if not NULL.
>
>>> Should have no problems, but I only did a boot with a system with this
>>> patch applied, no problems noticed on a normal desktop session, ssh,
>>> etc.
>
>> This looks fine to me, but I have a small request:
>
>> + return noblock ? 0 : timeop ? *timeop : sk->sk_rcvtimeo;
>
>> I keep forgetting which way these expressions associate, so if you could
>> parenthesize the innermost ?: I'd appreciate it. :)
>
> Ok, I actually wrote a sample program to verify that these ternaries did
> what I meant 8)
>
> I'll finish the cset log and do this clarification change.
>
> Would be great to get Acked-by tags from the original reporter, Michael
> and whoever had a look at this change, if possible. Michael, Elie?
Arnaldo, I already sent you a reply (will reping on that one),
but got no response. My light testing got the expected results,
but I still had one question about the semantics.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>,
David Miller <davem@davemloft.net>
Cc: mtk.manpages@gmail.com, linux-kernel@vger.kernel.org,
linux-man@vger.kernel.org, netdev@vger.kernel.org,
neleai@seznam.cz, caitlin.bestler@gmail.com,
nhorman@tuxdriver.com, eliedebrauwer@gmail.com,
steve@chygwyn.com, remi.denis-courmont@nokia.com,
paul@paul-moore.com, chris.friesen@windriver.com
Subject: Re: [PATCH/RFC] Re: recvmmsg() timeout behavior strangeness [RESEND]
Date: Sat, 24 May 2014 08:13:18 +0200 [thread overview]
Message-ID: <5380387E.50308@gmail.com> (raw)
In-Reply-To: <20140523195522.GH2741@kernel.org>
On 05/23/2014 09:55 PM, Arnaldo Carvalho de Melo wrote:
> Em Fri, May 23, 2014 at 03:00:55PM -0400, David Miller escreveu:
>> From: Arnaldo Carvalho de Melo <acme@kernel.org>
>> Date: Wed, 21 May 2014 18:05:35 -0300
>
>>> But after thinking a bit more, looks like we need to do that, please
>>> take a look at the attached patch to see if it addresses the problem.
>
>>> Mostly it adds a new timeop to the per protocol recvmsg()
>>> implementations, that, if not NULL, should be used instead of
>>> SO_RCVTIMEO.
>
>>> since the underlying recvmsg implementations already check that timeout,
>>> return what is remaining, that will then be used in subsequent recvmsg
>>> calls, at the end we just convert it back to timespec format.
>
>>> In most cases it is just passed to skb_recv_datagram, that will check
>>> the pointer, use it and update if not NULL.
>
>>> Should have no problems, but I only did a boot with a system with this
>>> patch applied, no problems noticed on a normal desktop session, ssh,
>>> etc.
>
>> This looks fine to me, but I have a small request:
>
>> + return noblock ? 0 : timeop ? *timeop : sk->sk_rcvtimeo;
>
>> I keep forgetting which way these expressions associate, so if you could
>> parenthesize the innermost ?: I'd appreciate it. :)
>
> Ok, I actually wrote a sample program to verify that these ternaries did
> what I meant 8)
>
> I'll finish the cset log and do this clarification change.
>
> Would be great to get Acked-by tags from the original reporter, Michael
> and whoever had a look at this change, if possible. Michael, Elie?
Arnaldo, I already sent you a reply (will reping on that one),
but got no response. My light testing got the expected results,
but I still had one question about the semantics.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
next prev parent reply other threads:[~2014-05-24 6:13 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-30 13:59 recvmmsg() timeout behavior strangeness [RESEND] Michael Kerrisk (man-pages)
2014-04-30 13:59 ` Michael Kerrisk (man-pages)
[not found] ` <536101C9.9090601-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-05-03 10:28 ` Michael Kerrisk (man-pages)
2014-05-03 10:28 ` Michael Kerrisk (man-pages)
2014-05-03 11:29 ` Florian Westphal
2014-05-03 11:39 ` Michael Kerrisk (man-pages)
2014-05-12 10:15 ` Michael Kerrisk (man-pages)
2014-05-12 14:34 ` Arnaldo Carvalho de Melo
[not found] ` <20140512143451.GB13801-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-21 21:05 ` [PATCH/RFC] " Arnaldo Carvalho de Melo
2014-05-21 21:05 ` Arnaldo Carvalho de Melo
[not found] ` <20140521210535.GA5414-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-22 14:27 ` Michael Kerrisk (man-pages)
2014-05-22 14:27 ` Michael Kerrisk (man-pages)
2014-05-24 6:13 ` Michael Kerrisk (man-pages)
2014-05-26 13:46 ` Arnaldo Carvalho de Melo
[not found] ` <20140526134647.GB8176-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-26 21:17 ` Arnaldo Carvalho de Melo
2014-05-26 21:17 ` Arnaldo Carvalho de Melo
2014-05-27 16:35 ` Michael Kerrisk (man-pages)
[not found] ` <5384BEC5.2080607-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-05-27 19:21 ` Arnaldo Carvalho de Melo
2014-05-27 19:21 ` Arnaldo Carvalho de Melo
[not found] ` <20140527192115.GD25474-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-27 19:22 ` Arnaldo Carvalho de Melo
2014-05-27 19:22 ` Arnaldo Carvalho de Melo
2014-05-27 19:28 ` Michael Kerrisk (man-pages)
2014-05-27 19:28 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkht1vubHueYPpkRu_W5B8OYW3rPUkHeLEq5WMVbCvO47w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-27 20:30 ` Arnaldo Carvalho de Melo
2014-05-27 20:30 ` Arnaldo Carvalho de Melo
2014-05-28 5:00 ` Michael Kerrisk (man-pages)
[not found] ` <20140527203010.GA2764-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-28 12:20 ` Michael Kerrisk (man-pages)
2014-05-28 12:20 ` Michael Kerrisk (man-pages)
2014-05-28 15:07 ` Arnaldo Carvalho de Melo
[not found] ` <20140528150720.GB2764-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-28 15:17 ` David Laight
2014-05-28 15:17 ` David Laight
2014-05-28 19:50 ` 'Arnaldo Carvalho de Melo'
[not found] ` <20140528195004.GD2764-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-28 21:33 ` Chris Friesen
2014-05-28 21:33 ` Chris Friesen
2014-05-28 21:49 ` 'Arnaldo Carvalho de Melo'
2014-05-29 10:53 ` David Laight
2014-05-29 13:55 ` 'Arnaldo Carvalho de Melo'
2014-05-29 14:06 ` David Laight
2014-05-29 14:17 ` 'Arnaldo Carvalho de Melo'
[not found] ` <20140529141705.GI2764-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-29 14:40 ` David Laight
2014-05-29 14:40 ` David Laight
2014-05-29 15:33 ` [PATCH/RFC] Handle EFAULT in partial recvmmsg was " 'Arnaldo Carvalho de Melo'
2014-06-16 9:58 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkj-MVfeqEeffWKMNok0yO-Rm1kyY+zhXEy-U9NkB+aLow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-24 20:25 ` Arnaldo Carvalho de Melo
2014-06-24 20:25 ` Arnaldo Carvalho de Melo
[not found] ` <20140624202541.GD3456-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-06-27 11:29 ` Michael Kerrisk (man-pages)
2014-06-27 11:29 ` Michael Kerrisk (man-pages)
2014-05-29 14:07 ` Michael Kerrisk (man-pages)
[not found] ` <5385D47A.3070401-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-27 11:37 ` Michael Kerrisk (man-pages)
2014-06-27 11:37 ` Michael Kerrisk (man-pages)
2014-05-23 19:00 ` David Miller
2014-05-23 19:00 ` David Miller
[not found] ` <20140523.150055.2214666905697701415.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2014-05-23 19:55 ` Arnaldo Carvalho de Melo
2014-05-23 19:55 ` Arnaldo Carvalho de Melo
[not found] ` <20140523195522.GH2741-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2014-05-24 6:13 ` Michael Kerrisk (man-pages) [this message]
2014-05-24 6:13 ` Michael Kerrisk (man-pages)
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=5380387E.50308@gmail.com \
--to=mtk.manpages-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=acme-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org \
--cc=caitlin.bestler-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=chris.friesen-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=eliedebrauwer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=neleai-9Vj9tDbzfuSlVyrhU4qvOw@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
--cc=paul-r2n+y4ga6xFZroRs9YW3xA@public.gmane.org \
--cc=remi.denis-courmont-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org \
--cc=steve-TMeXKDtMCpxBDgjK7y7TUQ@public.gmane.org \
/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.