LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: "Zengtao (B)" <prime.zeng@hisilicon.com>
Cc: "perex@perex.cz" <perex@perex.cz>,
	"tiwai@suse.com" <tiwai@suse.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [alsa-devel] Timeout issues in wait_for_avail function
Date: Sun, 13 May 2018 12:40:29 +0200	[thread overview]
Message-ID: <s5h1sef96ua.wl-tiwai@suse.de> (raw)
In-Reply-To: <678F3D1BB717D949B966B68EAEB446ED0C8D7B4E@DGGEMM506-MBS.china.huawei.com>

On Mon, 07 May 2018 12:49:34 +0200,
Zengtao (B) wrote:
> 
> Hi perex and tiwai:
> 
> I have met a timeout case when capture audio from snd-usb-audio device, 
> when the host call the pcm_read and get into the wait_for_avail function.
> The following happends
> 1.  No available data for capture(maybe because of the late response audio data by the uac device)

Hrm, in the case of capture, the data must be available.
If it's not the case, something is wrong.

> 2.  The current thread falls into sleep state and no one wakes up it.
> 3.  The current thread will sleep 10s(schedule_timeout(1000)) and then wakeup.
> 
> I have two question about the wait_for_avail:
> 1. The timeout value too long, is it a reasonable value? 
> 2. Is there any mechanism to wake up the thread if there is data from the hw.

The scenario above shouldn't happen, so no need for discussion.
Rather we should check why it's woken up even though no data is
available.

You can check the tracepoints to see the action of PCM stream, and
confirm whether it's really no data, or it's just lost by some
reason (or looks as if so).


Takashi

  reply	other threads:[~2018-05-13 10:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-07 10:49 Zengtao (B)
2018-05-13 10:40 ` Takashi Iwai [this message]
2018-05-31  7:43   ` [alsa-devel] " Zengtao (B)
2018-05-31  8:06     ` Takashi Iwai

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=s5h1sef96ua.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=prime.zeng@hisilicon.com \
    --cc=tiwai@suse.com \
    --subject='Re: [alsa-devel] Timeout issues in wait_for_avail function' \
    /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

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