linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: luca abeni <luca.abeni@santannapisa.it>
To: Juri Lelli <juri.lelli@gmail.com>
Cc: Tim Blechmann <tim@klingt.org>,
	Daniel Bristot de Oliveira <daniel@bristot.me>,
	linux-rt-users@vger.kernel.org,
	Tommaso Cucinotta <tommaso.cucinotta@santannapisa.it>
Subject: Re: SCHED_DEADLINE as user
Date: Thu, 23 Aug 2018 11:56:18 +0200	[thread overview]
Message-ID: <20180823115618.5584687b@luca64> (raw)
In-Reply-To: <20180820085420.GB8866@localhost.localdomain>

Hi Juri,

sorry for the late reply (I am just back from vacations), and thanks
for cc-ing me.

I see you opened a bug on github about this, so I am going to add more
details there, but basically I think that in order to use
SCHED_DEADLINE as non-root we need to:
1) Disable the boosting mechanism (not the inheritance, just the "soft
   enforcement behaviour" of tasks holding mutexes)
2) Implement some mechanism to limit the amount of dl bandwidth a user
   can allocate to itself (I think the cgroup-based approach we
   discussed some time ago should be OK... If I remember well, you even
   had a patch implementing it :)



				Luca

On Mon, 20 Aug 2018 10:54:20 +0200
Juri Lelli <juri.lelli@gmail.com> wrote:

> On 18/08/18 15:26, Tim Blechmann wrote:
> > >> audio applications typically use SCHED_FIFO. however they are
> > >> rate-monotonic by design, so i wanted to evaluate how
> > >> SCHED_DEADLINE behaves here.  
> > > 
> > > Right. Exactly what I started to think about lately as well.
> > >   
> > >>  
> > >>> Asking because we might want to have a look at how to relax the
> > >>> current privileges requirement.  
> > >>
> > >> please :)  
> > > 
> > > Anything to try attracting new users. :-P
> > > 
> > > More seriously, could you please describe in a bit more details
> > > your specific use case? Based on JACK I guess? Is it the
> > > application you are interested into public available somewhere?  
> > 
> > it could be based on JACK or natively on ALSA. furthermore the fun
> > part starts when trying to distribute work to multiple threads:
> > during the time slice of one audio callback (could be as low as
> > 1.3ms), we need to wake helper threads and (busy?)wait to collect
> > all the results. (while one of the applications is open source,
> > it's not entirely straight-forward to use)
> > 
> > for me it's more an investigation if SCHED_DEADLINE is actually
> > feasible in real-world audio application these days. tommaso used
> > to have a research prototype [1], built directly into JACK. however
> > currently i'd be more interested in using it in ALSA. but yeah,
> > it's more an investigation as SCHED_FIFO does a decent job for my
> > use case ...  
> 
> I (almost) see. Thanks for the details.
> 
> > [1] http://retis.sssup.it/~tommaso/publications/LAC-2011.pdf  
> 
> So, this was IIRC using AQuoSA hierarchical RT on EDF scheduler
> implementation; which it was handy to easy the task of assigning CBS
> server parameters to JACK clients (graph).
> 
> In your case - assuming you could already use DEADLINE for !root - do
> you think you would need to use the same interface for the multiple
> threads you are distributing work among? Or would you be fine with
> assigning runtime/deadline for each one of those?
> 
> BTW, cc-ing Tommaso and Luca. Discussion started from
> https://www.spinics.net/lists/linux-rt-users/msg19296.html

  parent reply	other threads:[~2018-08-23 14:25 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-15  6:08 SCHED_DEADLINE as user Tim Blechmann
2018-08-15  8:21 ` Daniel Bristot de Oliveira
2018-08-17  9:51   ` Juri Lelli
2018-08-17 10:08     ` Tim Blechmann
2018-08-17 10:28       ` Juri Lelli
     [not found]         ` <513fd544-bc51-7ea6-8b94-983d28922a66@klingt.org>
2018-08-20  8:54           ` Juri Lelli
2018-08-20 11:54             ` Tim Blechmann
2018-08-20 12:38               ` Daniel Bristot de Oliveira
2018-08-20 13:55                 ` Tim Blechmann
     [not found]                   ` <e207a65d-b1af-3fb1-8802-d1c05c0a9118@bristot.me>
     [not found]                     ` <05fbd5a4-f354-e084-cf40-8488548d7cb1@klingt.org>
2018-08-21  6:55                       ` Tommaso Cucinotta
2018-08-21  7:38                       ` Juri Lelli
2018-08-22  8:49                         ` Juri Lelli
2018-08-21  7:17               ` Tommaso Cucinotta
2018-08-21  7:59                 ` Tim Blechmann
2018-08-23  9:56             ` luca abeni [this message]
2018-08-23 10:23               ` Juri Lelli
2018-08-23 10:43                 ` luca abeni
2018-08-23 12:37                   ` Juri Lelli
2018-08-23 12:58                     ` luca abeni
2018-08-23 13:00                     ` luca abeni
2018-08-23 13:09                       ` Juri Lelli
2018-08-23 13:30                         ` luca abeni
2018-08-23 13:45                       ` Gene Heskett
2018-08-23 16:01                         ` Chris Friesen
2018-08-23 18:07                           ` Gene Heskett

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=20180823115618.5584687b@luca64 \
    --to=luca.abeni@santannapisa.it \
    --cc=daniel@bristot.me \
    --cc=juri.lelli@gmail.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=tim@klingt.org \
    --cc=tommaso.cucinotta@santannapisa.it \
    /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).