On Wed, 01 Aug 2018 04:05:18 +0200, Hans Hu(SH-RD) wrote:
I did more test base on different Intel platform, and result is the same.
Which platform did you test exactly?
Maybe I made some mistake? Can you do the test in yours platform?
The negative test result implies that the analysis isn't right. Actually I haven't seen that problem on my test machines.
BTW, please avoid top-posting.
thanks,
Takashi
Thank you! Hans
-----邮件原件----- 发件人: Takashi Iwai [mailto:tiwai@suse.de] 发送时间: 31 July 2018 21:55 收件人: Hans Hu(SH-RD) HansHu@zhaoxin.com 抄送: 'alsa-devel@alsa-project.org' alsa-devel@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@suse.de] 发送时间: 31 July 2018 19:59 收件人: Hans Hu(SH-RD) HansHu@zhaoxin.com 抄送: 'alsa-devel@alsa-project.org' alsa-devel@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@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.