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
next prev 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).