public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Nicholas Knight <tegeran@home.com>
To: t.sailer@alumni.ethz.ch, Thomas Sailer <sailer@scs.ch>,
	jgarzik@mandrakesoft.com, linux-kernel@vger.kernel.org
Cc: adrian@humboldt.co.uk
Subject: Re: via82cxxx_audio locking problems
Date: Thu, 20 Sep 2001 04:33:35 -0700	[thread overview]
Message-ID: <01092004333500.00182@c779218-a> (raw)
In-Reply-To: <3BA9AB43.C26366BF@scs.ch>
In-Reply-To: <3BA9AB43.C26366BF@scs.ch>

On Thursday 20 September 2001 01:39 am, Thomas Sailer wrote:
> This applies to version 1.1.5 as well as the version in
> linux-2.4.10-pre12 and linux-2.4.9-ac12.
>
> 1) There is one semaphore (syscall_sem) that is held during
>    calls from userspace. It is even kept while going to sleep
>    during read and write syscalls. This locks out other users,
>    eg. mixers, for a potentially very long time, seconds are
>    common but it may almost be arbitrarily long. Try changing
>    the volume with eg. gmix while playing something with eg. xmms.
>

thankyouthankyouthankyouthankyouthankyou
Adrian Cox was working on this after I raised the issue on the list, but 
nobody got anywhere. All we knew was that there were temporary lockups 
appearing when anything was using the mixer.

>    Dropping and reacquiring syscall_sem around interruptible_sleep_on
>    in via_dsp_do_read, via_dsp_do_write and via_dsp_drain_playback
>    should solve the problem. Does anyone see a problem with this?
>
> 2) When some kind of error happens during read or write after
>    some samples have already been dequeued and copied to the user
>    buffer, the number of copied bytes should be returned instead
>    of the error code, to avoid loosing samples.
>
> 3) The use of interruptible_sleep_on results in a small race where
>    wake_ups may be lost. Unlikely to hit though.
>
> 4) The down_trylock and returning -EAGAIN in via_down_syscall looks
>    questionable, EAGAIN with O_NONBLOCK normally means I/O has to
>    be completed first, not that there is contention on some internal
>    synchronisation primitive.
>
> Jeff, do you object any of this? Would you accept a patch to ameliorate
> the situation? Or would you like to fix this yourself?

I've emailed Jeff 2 or 3 times about the lock/freezes related to 
volume/mixer control, and never got a response, I'm not sure he's 
actually maintaining the driver. The last release of it from him was all 
fixes from someone else.

Adrian Cox was helping to track this down before, and is probably the 
best bet, I've CC'd Adrian to this. Unfortunitely I haven't seen any 
messages from him on lk in a while, so I'm not sure if he's on vacation 
or what.

My advice is, give us a patch! :) Since Jeff hasn't been heard from for a 
while, I can't see anyone, including Jeff, having a problem with this.

Is there anyone out there that could start maintaining the driver? 
Inactive drivers are kind of a pain :(

>
> Tom
>
> PS: Is there any better publicly available chip documentation than
> the 120 page PDF file?

  reply	other threads:[~2001-09-20 11:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-20  8:39 via82cxxx_audio locking problems Thomas Sailer
2001-09-20 11:33 ` Nicholas Knight [this message]
2001-09-20 12:07   ` Adrian Cox
2001-09-20 12:24     ` Nicholas Knight
2001-09-20 13:40       ` André Dahlqvist
2001-09-20 13:41         ` Thomas Sailer
2001-09-21  9:27         ` Thomas Sailer
2001-09-21 12:06           ` André Dahlqvist
2001-09-21 13:01             ` Lockups fixed! (Was: via82cxxx_audio locking problems) André Dahlqvist
2001-09-20 16:33 ` via82cxxx_audio locking problems Jeff Garzik
2001-09-21  7:50   ` Adrian Cox
2001-09-21  8:36     ` David Chow
2001-09-21  8:50       ` David Chow

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=01092004333500.00182@c779218-a \
    --to=tegeran@home.com \
    --cc=adrian@humboldt.co.uk \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sailer@scs.ch \
    --cc=t.sailer@alumni.ethz.ch \
    /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