From: Arthur Marsh <arthur.marsh@internode.on.net>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org
Subject: Re: lock-up when loading desktop
Date: Tue, 14 Oct 2014 04:38:58 +1030 [thread overview]
Message-ID: <543C153A.4060607@internode.on.net> (raw)
In-Reply-To: <s5h38asyrld.wl-tiwai@suse.de>
[-- Attachment #1: Type: text/plain, Size: 5245 bytes --]
Takashi Iwai wrote, on 14/10/14 00:55:
> At Mon, 13 Oct 2014 23:34:41 +1030,
> Arthur Marsh wrote:
>>
>>
>>
>> Takashi Iwai wrote, on 13/10/14 23:10:
>>
>>> OK, then could you check whether reverting only the last one (of two)
>>> does *NOT* fix the issue? I think it shouldn't, but let us confirm.
>>
>> Thanks for the feedback. Sorry, I'm not good on git commands. Having
>> applied the two reversions previously, how do I get my git tree back to
>> the same state as Linus' git head (ie undo the reversions)?
>
> Suppose your tree is now with two reverts, just run "git reset --hard
> HEAD~". Then it goes back in a single commit.
>
>> I could then apply the second reversion only and test that.
>>
>>>
>>> The alsa-info.sh shows the lockdep messages. I assume that it's seen
>>> even before 3.17+?
>>
>> I didn't see ALSA-related lockdep messages in 3.17.0 or earlier, and
>> have had the lockdep validator option enabled on kernels for several
>> months now.
>
> OK, so it's a new message. But this appears after you reverted two
> commits, right? Then the lock code base in sound core should be
> identical with 3.17. Strange. Do you see anything when you run
>
> git diff v3.17.. sound/core/pcm_native.c
>
> on the tree with two reverts?
>
>
>>> Last but not least, please check whether nonatomic flag is set wrongly
>>> by some reason like the patch below. (Check the kernel message after
>>> boot or try to playback some PCM).
>>>
>>>
>>> Takashi
>>>
>>> ---
>>> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
>>> index 85fe1a216225..9c7cbd1b839e 100644
>>> --- a/sound/core/pcm_native.c
>>> +++ b/sound/core/pcm_native.c
>>> @@ -2275,6 +2275,9 @@ static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream)
>>> int err;
>>> wait_queue_t wait;
>>>
>>> + if (WARN_ON(pcm->nonatomic))
>>> + return -EINVAL;
>>> +
>>> if (pcm == NULL) {
>>> err = -ENODEV;
>>> goto __error1;
>>>
>>>
>>
>> I can apply this patch, but I'm not entirely sure how to check for the
>> state of the nonatomic flag.
>
> If it were wrongly set, the PCM open would show the kernel warning and
> abort immediately, so you'll notice soon.
>
> One more test would be to check the direct merge to 3.17 as I've
> tested.
>
> - Go to git tree, check out some branch
> % git checkout -b sound-test
>
> - Reset to vanilla 3.17
> % git reset --hard v3.17
>
> - Merge only the sound changes onto it
> % git merge fd1a2a90d08b0052fa52bd36cebd0592c9e537c2
>
> Give any merge messages as you like.
>
> - Compile and retest whether the same problem happens with this one.
>
>
> thanks!
>
> Takashi
OK
# git reset --hard HEAD~
HEAD is now at 77c688a Merge branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
am64:/usr/src/linux# git revert 7af142f752116e86adbe2073f2922d8265a77709
[master 927ab0d] Revert "ALSA: pcm: Uninline snd_pcm_stream_lock() and
_unlock()"
Committer: root <root@am64.localdomain>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
2 files changed, 73 insertions(+), 72 deletions(-)
am64:/usr/src/linux# git revert 257f8cce5d40b811d229ed71602882baa0012808
[master e59721c] Revert "ALSA: pcm: Allow nonatomic trigger operations"
Committer: root <root@am64.localdomain>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
3 files changed, 19 insertions(+), 116 deletions(-)
am64:/usr/src/linux# git diff v3.17.. sound/core/pcm_native.c
am64:/usr/src/linux# git reset --hard HEAD~
HEAD is now at 927ab0d Revert "ALSA: pcm: Uninline snd_pcm_stream_lock()
and _unlock()"
am64:/usr/src/linux# git reset --hard v3.17
Checking out files: 100% (6352/6352), done.
HEAD is now at bfe01a5 Linux 3.17
am64:/usr/src/linux# git checkout -b sound-test
Switched to a new branch 'sound-test'
am64:/usr/src/linux# git merge fd1a2a90d08b0052fa52bd36cebd0592c9e537c2
Updating bfe01a5..fd1a2a9
Fast-forward
[big list of files]
/usr/src/linux# patch -p1 <../sound.patch
patching file sound/core/pcm_native.c
I then rebuilt that kernel, and installed it.
It booted and played its start-up sound of a MIDI file fine, but when I
attempted to run alsa-info.sh it locked up (see first photo), and after
rebooting again and trying to run:
aplay some-file.wav
had a similar lock-up (see second photo)
I can supply a dmesg output of the machine with the test kernel before
attempting anything that might cause a lock-up if it's of use to you.
PS, how do I get my git repositary out of "sound-test" branch and return
to Linus' git head?
Regards,
Arthur.
[-- Attachment #2: 20141014301.jpg --]
[-- Type: image/jpeg, Size: 1661948 bytes --]
[-- Attachment #3: 20141014302.jpg --]
[-- Type: image/jpeg, Size: 1687776 bytes --]
[-- Attachment #4: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2014-10-13 18:09 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-13 1:00 lock-up when loading desktop Arthur Marsh
2014-10-13 6:00 ` Takashi Iwai
2014-10-13 11:36 ` Arthur Marsh
2014-10-13 12:40 ` Takashi Iwai
2014-10-13 13:04 ` Arthur Marsh
2014-10-13 14:25 ` Takashi Iwai
2014-10-13 18:08 ` Arthur Marsh [this message]
2014-10-13 20:57 ` Takashi Iwai
2014-10-13 21:14 ` Takashi Iwai
2014-10-14 6:24 ` Arthur Marsh
2014-10-14 3:26 ` Arthur Marsh
2014-10-14 7:01 ` Arthur Marsh
2014-10-14 7:12 ` 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=543C153A.4060607@internode.on.net \
--to=arthur.marsh@internode.on.net \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.