netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "S.V.R.Anand" <anandsvr@iisc.ac.in>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
	Network Development <netdev@vger.kernel.org>
Subject: Re: packet deadline and process scheduling
Date: Sat, 29 Aug 2020 15:07:27 +0530	[thread overview]
Message-ID: <20200829093707.GB4669@iisc.ac.in> (raw)
In-Reply-To: <CA+FuTSeOx53Vq_JW4icjV-QnuKwj+PGkPpg5XWAoHWea5bfviQ@mail.gmail.com>

Thanks a lot for the suggestion. If my understanding is correct, I think
it solves part of the problem by dequeueing packets with deadline in a
timely manner using bpf and FQ scheduler combination. Let me know if my
understanding is correct. Once the packets are dequeued, how about 
scheduling of the receiver application process running in the user space in
a timely manner before the packet deadline ? By doing this, we are
ensuring timely delivery of the data to the receiver application.

Anand

On 20-08-28 16:01:31, Willem de Bruijn wrote:
> 
> 
> On Fri, Aug 28, 2020 at 10:51 AM S.V.R.Anand <anandsvr@iisc.ac.in> wrote:
> >
> > There is an active Internet draft "Packet Delivery Deadline time in
> > 6LoWPAN Routing Header"
> > (https://datatracker.ietf.org/doc/draft-ietf-6lo-deadline-time/) which
> > is presently in the RFC Editor queue and is expected to become an RFC in
> > the near future. I happened to be one of the co-authors of this draft.
> > The main objective of the draft is to support time sensitive industrial
> > applications such as Industrial process control and automation over IP
> > networks.  While the current draft caters to 6LoWPAN networks, I would
> > assume that it can be extended to carry deadline information in other
> > encapsulations including IPv6.
> >
> > Once the packet reaches the destination at the network stack in the
> > kernel, it has to be passed on to the receiver application within the
> > deadline carried in the packet because it is the receiver application
> > running in user space is the eventual consumer of the data. My mail below is for
> > ensuring passing on the packet sitting in the socket interface to the
> > user receiver application process in a timely fashion with the help of
> > OS scheduler. Since the incoming packet experieces variable delay, the
> > remaining time left before deadline approaches too varies. There should
> > be a mechanism within the kernel, where network stack needs to
> > communicate with the OS scheduler by letting the scheduler know the
> > deadline before user application socket recv call is expected to return.
> >
> > Anand
> >
> >
> > On 20-08-28 10:14:13, Eric Dumazet wrote:
> > >
> > >
> > > On 8/27/20 11:45 PM, S.V.R.Anand wrote:
> > > > Hi,
> > > >
> > > > In the control loop application I am trying to build, an incoming message from
> > > > the network will have a deadline before which it should be delivered to the
> > > > receiver process. This essentially calls for a way of scheduling this process
> > > > based on the deadline information contained in the message.
> > > >
> > > > If not already available, I wish to  write code for such run-time ordering of
> > > > processes in the earlist deadline first fashion. The assumption, however
> > > > futuristic it may be, is that deadline information is contained as part of the
> > > > packet header something like an inband-OAM.
> > > >
> > > > Your feedback on the above will be very helpful.
> > > >
> > > > Hope the above objective will be of general interest to netdev as well.
> > > >
> > > > My apologies if this is not the appropriate mailing list for posting this kind
> > > > of mails.
> > > >
> > > > Anand
> > > >
> > >
> > > Is this described in some RFC ?
> > >
> > > If not, I guess you might have to code this in user space.
> 
> Could ingress redirect to an IFB device with FQ scheduler work for
> ingress EDT? With a BPF program at ifb device egress hook to read
> the header and write skb->tstamp.

      parent reply	other threads:[~2020-08-29  9:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-28  6:45 packet deadline and process scheduling S.V.R.Anand
2020-08-28  8:14 ` Eric Dumazet
2020-08-28  8:50   ` S.V.R.Anand
2020-08-28 14:01     ` Willem de Bruijn
2020-08-28 20:45       ` Stephen Hemminger
2020-08-29  9:37       ` S.V.R.Anand [this message]

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=20200829093707.GB4669@iisc.ac.in \
    --to=anandsvr@iisc.ac.in \
    --cc=eric.dumazet@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=willemdebruijn.kernel@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).