[alsa-devel] A bug about cache inconsistency report
Hans Hu(SH-RD)
HansHu at zhaoxin.com
Wed Aug 1 04:05:18 CEST 2018
I did more test base on different Intel platform, and result is the same.
Maybe I made some mistake? Can you do the test in yours platform?
Thank you!
Hans
-----邮件原件-----
发件人: Takashi Iwai [mailto:tiwai at suse.de]
发送时间: 31 July 2018 21:55
收件人: Hans Hu(SH-RD) <HansHu at zhaoxin.com>
抄送: 'alsa-devel at alsa-project.org' <alsa-devel at alsa-project.org>
主题: Re: 答复: [alsa-devel] A bug about cache inconsistency report
On Tue, 31 Jul 2018 15:51:06 +0200,
Hans Hu(SH-RD) wrote:
>
> I did the test and Oops report when install driver( both snoop and
> non-snoop mode)
I don't understand. Did my one-liner change the behavior or not?
thanks,
Takashi
>
> -----邮件原件-----
> 发件人: Takashi Iwai [mailto:tiwai at suse.de]
> 发送时间: 31 July 2018 19:59
> 收件人: Hans Hu(SH-RD) <HansHu at zhaoxin.com>
> 抄送: 'alsa-devel at alsa-project.org' <alsa-devel at alsa-project.org>
> 主题: Re: [alsa-devel] A bug about cache inconsistency report
>
> On Tue, 31 Jul 2018 12:52:04 +0200,
> Hans Hu(SH-RD) wrote:
> >
> > Hi All,
> >
> > Try send an email.
> >
> > Appearance:
> > when use non-snoop + ioctl path combination, an issue occurs:
> > usage: aplay -D plughw:0,0 44100_S16_LE_2c.wav Ubuntu, it
> > performance intermittently noise;
> >
> > Root case:
> > Function set_pages_array_wc marked the PTE of the original address; Function set_memory_wc marked the PTE both original and after vmaped address.
> > [cid:image002.png at 01D428FF.92621520]
> > However, cache or not in transmission process is based on the PTE of the later, and the set_pages_array_wc did't mark it, so a cache inconsistency issue occurs.
> >
> > Related bug:
> > SHA1 ID: 9ddf1aeb2134e72275c97a2c6ff2e3eb04f2f27a
>
> OK, so did you confirm that dropping the SG buffer support "fixes" the noise problem on your system? The easiest test would be like:
>
> --- a/sound/pci/hda/hda_controller.c
> +++ b/sound/pci/hda/hda_controller.c
> @@ -770,7 +770,7 @@ int snd_hda_attach_pcm_stream(struct hda_bus
> *_bus, struct hda_codec *codec, size = CONFIG_SND_HDA_PREALLOC_SIZE *
> 1024; if (size > MAX_PREALLOC_SIZE) size = MAX_PREALLOC_SIZE;
> -snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
> +snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV,
> chip->card->dev,
> size, MAX_PREALLOC_SIZE);
> return 0;
>
>
> thanks,
>
> Takashi
>
>
> 保密声明:
> 本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
> CONFIDENTIAL NOTE:
> This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.
保密声明:
本邮件含有保密或专有信息,仅供指定收件人使用。严禁对本邮件或其内容做任何未经授权的查阅、使用、复制或转发。
CONFIDENTIAL NOTE:
This email contains confidential or legally privileged information and is for the sole use of its intended recipient. Any unauthorized review, use, copying or forwarding of this email or the content of this email is strictly prohibited.
More information about the Alsa-devel
mailing list