public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Benno Senoner <sbenno@gardena.net>
To: "The Linux Audio Developers' Mailing List" 
	<linux-audio-dev@music.columbia.edu>
Cc: Lee Revell <rlrevell@joe-job.com>, Andrew Morton <akpm@osdl.org>,
	andrea@suse.de, linux-kernel@vger.kernel.org
Subject: Re: [linux-audio-dev] Re: [announce] [patch] Voluntary	Kernel	Preemption Patch
Date: Wed, 14 Jul 2004 12:26:58 +0200	[thread overview]
Message-ID: <40F50A72.6060601@gardena.net> (raw)
In-Reply-To: <s5hk6x79dk4.wl@alsa2.suse.de>

Takashi Iwai wrote:

>>Is it possible that I am simply pushing my hardware past its limits? 
>>Keep in mind this is a 600Mhz C3 processor.
>>    
>>
>
>I think yes.  32 frames / 44.1kHz = 0.725 ms.
>  
>
I don't think so, I think it's because the Linux scheduler (and kernel 
in general) since it's not a RTOS
is pushed to the limits. (but as we see it can still be optimized).

For example I used the same VIA box with RTLinux to remote control servo 
motors which need a PWM signal
of the duration of 2msec and based on the location of the negative flank 
(from high to low) the servo
motor goes in a certain position.
For example if the duration of the pulse is 2msec then setting the flank 
at 0msec (at the beginning of the cycle)
the servo goes to -45degrees , 1msec 0degrees , 2msec +45degrees.

Jitter in the pulse can be detected when the servo is vibrating a bit 
around the nominal position.
Of course a very short lived spike cannot be detected by the servo 
because of the motor's inertia
but I tried to put the box under very high load especially video 
playback (the VIA box uses a shared bus architecture
holding the video data in the PC's RAM), HD load etc but the jitter is 
very minimal, probably 30-40usec because the
servos vibrate only about 1degree or so (only when the box is under very 
high load).

This just to say that the VIA box should easily be able to cope with 32 
audio frames (0.6msec buffers) from a hardware
point of view.
Anyway "worst case" latencies (or better latencies under very high load) 
of <0.5-1msec are completely adequate for
real time multimedia because if you shorten your audio processing cycles 
too much (eg 32 frames) then the setup
overhead of DSP routines, and scheduling overhead becomes big and the 
efficiency of
the algorithms decrease quite a bit.
imagine running jack with 10 client applications and 32 frames (0.6msec 
periods) , this means that within 0.6msec you need
to reschedule 10 times = 60 usec per client. I don't know how much the 
actual rescheduling of a process takes (AFAIK around 1usec ?)
but I guess the main problem is the constant invalidation of the cache 
because those audio clients run for a really short time.
Of course if you have only 1-2 clients running then the efficiency at 32 
frames should still be good (but it will certainly provide 10-20% less
perfromance than using 64 or 128 frames).
Our goal should be rock solid operation at 64msec (around 1msec-1.5msec 
processing periods).
If you use 2-3 buffers then the kernel has still another 1.5-3msec of 
headroom before an actual (audible) xrun occurs.

cheers,
Benno
http://www.linuxsampler.org


>
>Takashi
>
>  
>


  parent reply	other threads:[~2004-07-14 14:30 UTC|newest]

Thread overview: 271+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-09 18:26 [announce] [patch] Voluntary Kernel Preemption Patch Ingo Molnar
2004-07-09 19:51 ` Christoph Hellwig
2004-07-09 23:50   ` Andrea Arcangeli
2004-07-10  0:52     ` Andrea Arcangeli
2004-07-10  1:02       ` Dave Jones
2004-07-12 10:17       ` Takashi Iwai
2004-07-12 19:36         ` Andrea Arcangeli
2004-07-13  7:43           ` Takashi Iwai
2004-07-10  6:32     ` Arjan van de Ven
2004-07-10  7:57     ` Ingo Molnar
2004-07-10  8:10       ` ismail dönmez
2004-07-10  8:28         ` Ingo Molnar
2004-07-19 10:36           ` [patch] voluntary-preempt 2.6.8-rc2-H4 Ingo Molnar
2004-07-20  1:38             ` Ramón Rey Vicente
2004-07-20  6:02               ` Ingo Molnar
2004-07-10 15:36       ` [announce] [patch] Voluntary Kernel Preemption Patch Andrea Arcangeli
2004-07-10 12:48   ` Ingo Molnar
2004-07-10 15:12     ` Con Kolivas
2004-07-10 15:14       ` Arjan van de Ven
2004-07-10 15:18         ` Con Kolivas
2004-07-11  7:07           ` Zwane Mwaikambo
2004-07-11  7:09             ` Con Kolivas
2004-07-11  7:16             ` [announce] [patch] " Zwane Mwaikambo
2004-07-11  9:18           ` Ingo Molnar
2004-07-11  9:29             ` Con Kolivas
2004-07-10 16:18       ` [announce] [patch] " Con Kolivas
2004-07-11  6:47         ` [ck] " Ingo Molnar
2004-07-11  6:59           ` Con Kolivas
2004-07-11 11:18             ` R. J. Wysocki
2004-07-11  7:09           ` [ck] Re: [announce] [patch] " Zwane Mwaikambo
2004-07-11 14:27           ` Con Kolivas
2004-07-11 14:29             ` Con Kolivas
2004-07-11 14:38             ` Ingo Molnar
2004-07-11 17:29               ` André Goddard Rosa
2004-07-11 17:49                 ` Grzegorz Kulewski
2004-07-11 21:20                   ` Con Kolivas
2004-07-11 21:25                     ` Grzegorz Kulewski
2004-07-11 20:17               ` Ingo Molnar
2004-07-12  8:23                 ` Voluntary Preemption + concurent games Aivils
2004-07-12  9:51                   ` Con Kolivas
2004-07-12 10:45                     ` Lenar Lõhmus
2004-07-12 11:52                     ` Aivils
2004-07-12 13:35                   ` Nick Piggin
2004-07-12 14:15               ` [ck] Re: [announce] [patch] Voluntary Kernel Preemption Patch Chris Friesen
2004-07-12 14:19                 ` Ingo Molnar
2004-07-10 15:58     ` Andrea Arcangeli
2004-07-09 21:13 ` Redeeman
2004-07-10  8:02   ` Ingo Molnar
2004-07-10  8:50     ` Ingo Molnar
2004-07-10 10:55       ` ismail dönmez
2004-07-10 11:26         ` Arjan van de Ven
2004-07-10 12:01           ` ismail dönmez
2004-07-10 12:05             ` Arjan van de Ven
2004-07-10 12:09             ` Nick Piggin
2004-07-10 12:35         ` Ingo Molnar
2004-07-10 12:58           ` ismail dönmez
2004-07-10 13:55             ` Ingo Molnar
2004-07-10 14:45               ` Nick Piggin
2004-07-10 14:57                 ` ismail dönmez
2004-07-12 10:48         ` Takashi Iwai
2004-07-12 13:09           ` ismail dönmez
2004-07-12 13:14             ` Takashi Iwai
2004-07-09 21:36 ` Torrey Hoffman
2004-07-10  8:23   ` Ingo Molnar
2004-07-10  1:00 ` Con Kolivas
2004-07-10  1:04   ` Dave Jones
2004-07-10 12:55     ` Ingo Molnar
2004-07-11  5:25 ` Andrew Morton
2004-07-11  9:32   ` Ingo Molnar
2004-07-11  9:45     ` Andrew Morton
2004-07-11  9:50       ` Ingo Molnar
2004-07-11  9:58         ` Andrew Morton
2004-07-11 10:30           ` Ingo Molnar
2004-07-11 10:42             ` Andrew Morton
2004-07-11 10:59               ` Arjan van de Ven
2004-07-11 11:13                 ` Andrew Morton
2004-07-11 18:07                   ` Mikulas Patocka
2004-07-12  7:08                 ` Zwane Mwaikambo
2004-07-19 10:20                   ` Ingo Molnar
2004-07-11 23:12             ` Robert Love
2004-07-12 22:40       ` Bill Davidsen
2004-07-12 13:24   ` John Stoffel
2004-07-12 22:56   ` [linux-audio-dev] " Lee Revell
2004-07-12 23:31     ` Andrew Morton
2004-07-12 23:58       ` Paul Davis
2004-07-13  0:06         ` Andrew Morton
2004-07-13  0:21           ` Con Kolivas
2004-07-13  1:01           ` [linux-audio-dev] Re: [announce] [patch] " Lee Revell
2004-07-13  7:49             ` Takashi Iwai
2004-07-13  8:12               ` Lee Revell
2004-07-13  0:01       ` Paul Davis
2004-07-13  0:08         ` Andrew Morton
2004-07-13 16:25           ` Andrea Arcangeli
2004-07-13 18:42             ` Lee Revell
2004-07-13 21:29               ` Andrew Morton
2004-07-13 21:45                 ` Lee Revell
2004-07-14  8:51                   ` Takashi Iwai
2004-07-14  9:36                     ` Lee Revell
2004-07-14 10:48                       ` Takashi Iwai
2004-07-14 14:52                         ` Lee Revell
2004-07-14 16:29                           ` Lee Revell
2004-07-14 10:26                     ` Benno Senoner [this message]
2004-07-13 18:48             ` Andrew Morton
2004-07-13 21:38               ` Andrea Arcangeli
2004-07-13 21:54                 ` Andrew Morton
2004-07-13 22:01                   ` Andrea Arcangeli
2004-07-13 22:25                     ` Andrew Morton
2004-07-13 22:37                       ` Andrea Arcangeli
2004-07-13 22:44                         ` Andrew Morton
2004-07-13 22:53                           ` Andrea Arcangeli
2004-07-13 23:06                             ` Andrew Morton
2004-07-13 23:18                               ` Andrea Arcangeli
2004-07-13 23:32                                 ` Andrew Morton
2004-07-14  0:40                                   ` Andrea Arcangeli
2004-07-14  0:45                                     ` Andrew Morton
2004-07-19 11:59                                 ` Ingo Molnar
2004-09-02 22:03                                   ` Andrea Arcangeli
2004-09-02 22:20                                     ` Andrew Morton
2004-09-02 23:03                                       ` Ingo Molnar
2004-09-02 23:21                                         ` Ingo Molnar
2004-07-13  7:58         ` Takashi Iwai
2004-07-13  0:17       ` Lee Revell
2004-07-13  0:46         ` Andrew Morton
2004-07-13  2:52           ` Lee Revell
2004-07-13  3:59             ` Andrew Morton
2004-07-13  7:57               ` Lee Revell
2004-07-19 10:48                 ` Ingo Molnar
2004-07-19 11:34                   ` Ingo Molnar
2004-07-20  5:38                   ` Lee Revell
2004-07-20  6:12                     ` Ingo Molnar
2004-07-20  6:59                       ` Lee Revell
2004-07-20  7:11                         ` Ingo Molnar
     [not found]                           ` <200407202011.20558.musical_snake@gmx.de>
2004-07-20 19:56                             ` Lee Revell
2004-07-20 23:49                               ` Benno Senoner
2004-07-21  0:32                                 ` [linux-audio-dev] " Lee Revell
2004-07-21  1:25                                   ` Timothy Miller
2004-07-21 21:38                                     ` Another dumb question about " Timothy Miller
2004-07-24  0:25                                       ` Lee Revell
2004-07-25 20:19                                         ` Timothy Miller
2004-07-25 20:13                                           ` Lee Revell
2004-07-21 10:53                                   ` [linux-audio-dev] Re: [announce] [patch] " Florian Schmidt
2004-07-21 11:18                                     ` Thomas Charbonnel
2004-07-21 12:04                                       ` pci gfx card / jack xruns / pci latencies (was: Re: [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch) Florian Schmidt
2004-07-21 17:49                                     ` [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch Fernando Pablo Lopez-Lezcano
2004-07-22 22:25                                     ` Andrew McGregor
2004-07-22 23:16                                       ` Florian Schmidt
2004-07-21 14:27                                   ` Benno Senoner
2004-07-20 12:19                       ` Jens Axboe
2004-07-20 21:32                         ` Lee Revell
2004-07-24  4:07                         ` Lee Revell
2004-07-24  5:46                           ` Lee Revell
2004-07-24  6:33                             ` Lee Revell
2004-07-24  6:43                             ` Ingo Molnar
2004-07-24 22:49                               ` Lee Revell
2004-07-24 23:30                                 ` Lee Revell
2004-07-24 11:27                             ` max request size 1024KiB by default? Rudo Thomas
2004-07-24 22:58                               ` Lee Revell
2004-07-26 19:29                                 ` Johannes Stezenbach
2004-07-27  5:15                                 ` Jens Axboe
2004-07-24 12:41                           ` [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch Mark Lord
2004-07-24  4:58                         ` Lee Revell
2004-07-13  8:31               ` Lee Revell
2004-07-13  8:43                 ` Andrew Morton
2004-07-13  8:53                   ` Lee Revell
2004-07-13  9:00                     ` Andrew Morton
2004-07-13  9:21                       ` Takashi Iwai
2004-07-13  9:25                         ` Andrew Morton
2004-07-13  9:33                           ` Takashi Iwai
2004-07-13  9:44                             ` Andrew Morton
2004-07-13  9:23                       ` Lee Revell
2004-07-13  9:29                         ` Andrew Morton
2004-07-13 20:37                           ` Lee Revell
2004-07-13 22:32                           ` Lee Revell
2004-07-13  8:07           ` Takashi Iwai
2004-07-13 22:40           ` Bill Davidsen
2004-07-13 23:47             ` Randy.Dunlap
2004-07-19 10:29           ` Ingo Molnar
2004-07-21  3:27             ` Lee Revell
2004-07-21  7:03               ` Andrew Morton
2004-07-21  4:58                 ` Lee Revell
2004-07-21  5:30                 ` Ingo Molnar
2004-07-21  6:03                   ` Lee Revell
2004-07-21  8:22                     ` Ingo Molnar
2004-07-21  8:52                       ` Ingo Molnar
2004-07-21 11:32                         ` Nick Piggin
2004-07-21 15:44                           ` Ingo Molnar
2004-07-22  4:56                             ` Nick Piggin
2004-07-22  7:07                               ` Ingo Molnar
2004-07-22 10:54                                 ` Nick Piggin
2004-07-22 16:23                                   ` Ingo Molnar
2004-07-22 22:11                                     ` Nick Piggin
2004-07-23  5:47                                       ` Ingo Molnar
2004-07-23  6:45                                         ` Nick Piggin
2004-07-23  6:55                                           ` Ingo Molnar
2004-07-23  7:11                                             ` Nick Piggin
2004-07-23  7:21                                               ` Ingo Molnar
2004-07-23  7:28                                                 ` Nick Piggin
2004-07-21 18:34                           ` Scott Wood
2004-07-21 18:46                             ` Ingo Molnar
2004-07-21 19:56                               ` Scott Wood
2004-07-21 21:08                                 ` Ingo Molnar
2004-07-22  2:47                                   ` Scott Wood
2004-07-21 21:45                                 ` Ingo Molnar
2004-07-22  2:28                                   ` Scott Wood
2004-07-22  7:40                                     ` Ingo Molnar
2004-07-22 18:53                                       ` Scott Wood
2004-07-22 19:45                                         ` Bill Huey
2004-07-28  6:45                                           ` Ingo Molnar
2004-07-28 20:52                                             ` Scott Wood
2004-07-29 18:21                                               ` Ingo Molnar
2004-07-29 18:36                                                 ` Bill Huey
2004-07-29 19:17                                                   ` Scott Wood
2004-07-29 19:25                                                     ` Bill Huey
2004-07-30  2:23                                             ` Eric St-Laurent
2004-07-29 20:26                                       ` Pavel Machek
2004-07-29 20:57                                         ` Scott Wood
2004-07-29 21:00                                           ` Pavel Machek
2004-07-29 21:07                                         ` Ingo Molnar
2004-07-21 22:52                             ` Nick Piggin
2004-07-21 18:32                         ` Scott Wood
2004-07-21 20:40                           ` Ingo Molnar
2004-07-21 18:30                       ` Scott Wood
2004-07-21 18:43                         ` Ingo Molnar
2004-07-22  2:32                           ` Scott Wood
2004-07-22  9:51                             ` Ingo Molnar
2004-07-22 18:36                               ` Scott Wood
2004-07-22 19:11                                 ` Robert Love
2004-07-21 21:00                         ` Scott Wood
2004-07-21 21:18                           ` Ingo Molnar
2004-07-21 22:14                             ` Bill Huey
2004-07-21 22:31                               ` Bill Huey
2004-07-21 22:37                             ` Scott Wood
2004-07-22 10:06                               ` [patch] voluntary-preempt-2.6.8-rc2-H9 Ingo Molnar
2004-07-22 16:00                                 ` scheduling while atomic (Re: voluntary-preempt-2.6.8-rc2-H9) Rudo Thomas
2004-07-22 16:19                                   ` Ingo Molnar
2004-07-22 17:24                                     ` voluntary-preempt I0: sluggish feel Rudo Thomas
2004-07-22 17:52                                       ` Matt Heler
2004-07-22 17:54                                       ` Rudo Thomas
2004-07-22 18:01                                         ` Ingo Molnar
2004-07-22 18:08                                           ` Ingo Molnar
2004-07-22 18:14                                             ` Ingo Molnar
2004-07-22 18:37                                               ` Rudo Thomas
2004-07-23 10:42                                               ` [patch] voluntary-preempt-2.6.8-rc2-I3 Ingo Molnar
2004-07-23 10:58                                                 ` Paolo Ciarrocchi
2004-07-23 11:04                                                   ` Ingo Molnar
2004-07-23 11:28                                                     ` [patch] voluntary-preempt-2.6.8-rc2-I4 Ingo Molnar
2004-07-24  0:16                                                       ` Lee Revell
2004-07-23 11:42                                                     ` [patch] voluntary-preempt-2.6.8-rc2-I3 Paolo Ciarrocchi
2004-07-23 12:00                                                       ` Ingo Molnar
2004-07-23 15:36                                                         ` Dang, Linh [CAR:2X23:EXCH]
2004-07-23 23:48                                                         ` Thomas Charbonnel
2004-07-26 11:10                                                           ` Ingo Molnar
2004-07-26 12:27                                                             ` Thomas Charbonnel
2004-07-22 18:31                                           ` voluntary-preempt I0: sluggish feel Robert Love
2004-07-22 18:32                                           ` Rudo Thomas
2004-07-22 18:38                                             ` Ingo Molnar
2004-07-22 18:00                                       ` Ingo Molnar
2004-07-21  6:07                 ` [linux-audio-dev] Re: [announce] [patch] Voluntary Kernel Preemption Patch Lee Revell
2004-07-21 10:14                 ` Roger Luethi
2004-07-13  0:58         ` Jan Depner
2004-07-13  1:00           ` Andrew Morton
2004-07-13  3:31         ` Florin Andrei
2004-07-13  6:31           ` Paul Winkler
2004-07-13 13:26         ` Benno Senoner
2004-07-13 14:50           ` Paul Davis
2004-07-13 19:45           ` Lee Revell
2004-07-13 22:17           ` Bill Davidsen
2004-07-16  4:50   ` Florin Andrei
2004-07-16 12:49     ` Takashi Iwai
2004-07-13 21:53 ` Timothy Miller
  -- strict thread matches above, loose matches on Subject: below --
2004-07-13 15:16 [linux-audio-dev] " Shane Shrybman

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=40F50A72.6060601@gardena.net \
    --to=sbenno@gardena.net \
    --cc=akpm@osdl.org \
    --cc=andrea@suse.de \
    --cc=linux-audio-dev@music.columbia.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rlrevell@joe-job.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