public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rodolfo Giometti <giometti@enneenne.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Paul Chavent <Paul.Chavent@onera.fr>,
	linux-kernel@vger.kernel.org,
	Alexander Gordeev <agordeev@redhat.com>
Subject: Re: [PATCH] pps : add non blocking option to PPS_FETCH ioctl.
Date: Tue, 15 Oct 2013 12:43:50 +0200	[thread overview]
Message-ID: <20131015104350.GI4285@enneenne.com> (raw)
In-Reply-To: <20131011124720.bf38f18affa8baf0b009875a@linux-foundation.org>

On Fri, Oct 11, 2013 at 12:47:20PM -0700, Andrew Morton wrote:
> On Fri, 11 Oct 2013 14:40:32 +0200 Paul Chavent <Paul.Chavent@onera.fr> wrote:
> 
> > The PPS_FETCH ioctl is blocking still the reception of a PPS
> > event. But, in some case, one may immediately need the last event
> > date. This patch allow to get the result of PPS_FETCH if the device
> > has the O_NONBLOCK flag set.
> 
> Are the PPS ioctls actually documented anywhere? 
> Documentation/pps/pps.txt is silent.
> 
> That's a shame, because it would be nice to have a formal description
> of the the PPS_FETCH semantics which leads to an understanding of why
> things are the way they are, how PPS_FETCH is supposed to be used, etc.
> 
> Also, the presence of such documentation would permit me to bug you for
> not having updated it!  We need *some* channel for telling people about
> the driver, and updates to it.  Maybe linuxpps.org has it somewhere,
> but I couldn't immediately find it.

Hi Andrew! Actually RFC 2783 doesn't use ioctls to get access to PPS
data but it defines some functions. LinuxPPS, that is the Linux PPS
implementation, uses ioctls to implement these functions.

If you like having an idea about how these functions are implemented
into LinuxPPS, you can see here:

   http://www.linuxpps.org/gitweb/?p=pps-tools;a=blob;f=timepps.h;h=d2628d2d061ea2a3623e57990d9ada62623773cf;hb=5980a044bcdb4c1d1a8b1ecff986fa63719519b3

> Your implementation requires that the file be opened non-blocking.  But
> I'd have thought that adding a new and separate ioctl mode would be a
> cleaner and more flexible implementation - that way an app which wants
> both blocking and non-blocking behaviour doesn't need to open the file
> twice.
> 
> Also, this is actually a non-backward-compatible change for any
> application which happened to be opening the file with O_NONBLOCK! 
> Hopefully there aren't any such applications...

The major application that I know using these layer is NTPD... however
all RFC compliant applications should not use ioctls to get access the
PPS data and this patch should be a "special" case.

Thanks for your time,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail: giometti@enneenne.com
Linux Device Driver                          giometti@linux.it
Embedded Systems                     phone:  +39 349 2432127
UNIX programming                     skype:  rodolfo.giometti
Freelance ICT Italia - Consulente ICT Italia - www.consulenti-ict.it

  reply	other threads:[~2013-10-15 10:44 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-11 12:40 [PATCH] pps : add non blocking option to PPS_FETCH ioctl Paul Chavent
2013-10-11 19:47 ` Andrew Morton
2013-10-15 10:43   ` Rodolfo Giometti [this message]
2013-10-15 19:55     ` Andrew Morton
2013-10-16  6:52       ` Paul Chavent
2013-10-16  7:29         ` Rodolfo Giometti
2013-10-16  7:42           ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2013-09-04  8:20 Paul Chavent
2013-09-06  6:55 ` Rodolfo Giometti
2013-10-11  8:42   ` Paul Chavent
2013-10-11  8:56     ` Rodolfo Giometti

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=20131015104350.GI4285@enneenne.com \
    --to=giometti@enneenne.com \
    --cc=Paul.Chavent@onera.fr \
    --cc=agordeev@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox