All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	linux-mm@kvack.org
Subject: Re: 4.14-rc2 on thinkpad x220: out of memory when inserting mmc card
Date: Mon, 23 Oct 2017 15:13:07 +0300	[thread overview]
Message-ID: <bec93e7f-e225-baff-0b5b-28a92aeed720@intel.com> (raw)
In-Reply-To: <20171023093109.GI32228@amd>

On 23/10/17 12:31, Pavel Machek wrote:
> Hi!
> 
>>>> Did you use bounce buffers? Those were improving performance on
>>>> some laptops with TI or Ricoh host controllers and nothing else was
>>>> ever really using it (as can be seen from the commit).
>>>
>>> Thinkpad X220... how do I tell if I was using them? I believe so,
>>> because I uncovered bug in them before.
>>
>> You are certainly using bounce buffers.  What does lspci -knn show?
> 
> Here is the output:
> 									Pavel
> 
> 00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
> 	Subsystem: Lenovo Device [17aa:21da]
> 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: i915
> 00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21ce]
> 	Kernel driver in use: e1000e
> 00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: ehci-pci
> 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: snd_hda_intel
> 00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1c.4 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 [8086:1c18] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: ehci-pci
> 00:1f.0 ISA bridge [0601]: Intel Corporation QM67 Express Chipset Family LPC Controller [8086:1c4f] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: ahci
> 00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 03:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 1000 [Condor Peak] [8086:0084]
> 	Subsystem: Intel Corporation Centrino Wireless-N 1000 BGN [8086:1315]
> 	Kernel driver in use: iwlwifi
> 0d:00.0 System peripheral [0880]: Ricoh Co Ltd PCIe SDXC/MMC Host Controller [1180:e823] (rev 07)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: sdhci-pci

Yes, the code for Ricoh in sdhci-pci specifies only SDMA which means no
scatter-gather.  That might benefit from bounce buffers, but it seems like
the memory allocation was silently failing anyway if a card was inserted
after memory has fragmented.

WARNING: multiple messages have this Message-ID (diff)
From: Adrian Hunter <adrian.hunter@intel.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	linux-mm@kvack.org
Subject: Re: 4.14-rc2 on thinkpad x220: out of memory when inserting mmc card
Date: Mon, 23 Oct 2017 15:13:07 +0300	[thread overview]
Message-ID: <bec93e7f-e225-baff-0b5b-28a92aeed720@intel.com> (raw)
In-Reply-To: <20171023093109.GI32228@amd>

On 23/10/17 12:31, Pavel Machek wrote:
> Hi!
> 
>>>> Did you use bounce buffers? Those were improving performance on
>>>> some laptops with TI or Ricoh host controllers and nothing else was
>>>> ever really using it (as can be seen from the commit).
>>>
>>> Thinkpad X220... how do I tell if I was using them? I believe so,
>>> because I uncovered bug in them before.
>>
>> You are certainly using bounce buffers.  What does lspci -knn show?
> 
> Here is the output:
> 									Pavel
> 
> 00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
> 	Subsystem: Lenovo Device [17aa:21da]
> 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: i915
> 00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21ce]
> 	Kernel driver in use: e1000e
> 00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: ehci-pci
> 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: snd_hda_intel
> 00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1c.4 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 [8086:1c18] (rev b4)
> 	Kernel driver in use: pcieport
> 00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: ehci-pci
> 00:1f.0 ISA bridge [0601]: Intel Corporation QM67 Express Chipset Family LPC Controller [8086:1c4f] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: ahci
> 00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
> 	Subsystem: Lenovo Device [17aa:21da]
> 03:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 1000 [Condor Peak] [8086:0084]
> 	Subsystem: Intel Corporation Centrino Wireless-N 1000 BGN [8086:1315]
> 	Kernel driver in use: iwlwifi
> 0d:00.0 System peripheral [0880]: Ricoh Co Ltd PCIe SDXC/MMC Host Controller [1180:e823] (rev 07)
> 	Subsystem: Lenovo Device [17aa:21da]
> 	Kernel driver in use: sdhci-pci

Yes, the code for Ricoh in sdhci-pci specifies only SDMA which means no
scatter-gather.  That might benefit from bounce buffers, but it seems like
the memory allocation was silently failing anyway if a card was inserted
after memory has fragmented.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2017-10-23 12:20 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05 19:47 4.13 on thinkpad x220: oops when writing to SD card Pavel Machek
2017-09-06  2:44 ` Shawn Lin
2017-09-06  6:03   ` Adrian Hunter
2017-09-07  7:18     ` Ulf Hansson
2017-09-07  7:53       ` Adrian Hunter
2017-09-07 10:47         ` Seraphime Kirkovski
2017-09-07 12:06         ` Ulf Hansson
2017-09-07 12:55           ` Pavel Machek
2017-09-07 15:03             ` Ulf Hansson
2017-09-08  8:51           ` Pavel Machek
2017-09-07 19:58         ` Linus Walleij
2017-09-07 20:02       ` Linus Walleij
2017-09-08  2:51         ` Shawn Lin
2017-09-12  9:42           ` Linus Walleij
2017-09-13  4:04             ` Shawn Lin
2017-10-01  9:37 ` 4.14-rc2 on thinkpad x220: out of memory when inserting mmc card Pavel Machek
2017-10-01 10:26   ` Pavel Machek
2017-10-01 10:57     ` Tetsuo Handa
2017-10-01 10:57       ` Tetsuo Handa
2017-10-02  7:52       ` Adrian Hunter
2017-10-02  7:52         ` Adrian Hunter
2017-10-02  8:41         ` Pavel Machek
2017-10-02 12:06           ` Linus Walleij
2017-10-02 12:06             ` Linus Walleij
2017-10-02 13:03             ` Pavel Machek
2017-10-03  6:27               ` Adrian Hunter
2017-10-03  6:27                 ` Adrian Hunter
2017-10-23  9:31                 ` Pavel Machek
2017-10-23 12:13                   ` Adrian Hunter [this message]
2017-10-23 12:13                     ` Adrian Hunter
2017-10-23 12:16                   ` Linus Walleij
2017-10-23 12:16                     ` Linus Walleij
2017-10-23 21:27                     ` Pavel Machek
2017-10-24  6:59                       ` Adrian Hunter
2017-10-24  6:59                         ` Adrian Hunter
2017-10-26 13:44                       ` Linus Walleij
2017-10-26 13:44                         ` Linus Walleij
2017-10-02 14:09       ` Linus Walleij
2017-10-02 14:09         ` Linus Walleij
2017-10-03  6:30         ` Adrian Hunter
2017-10-03  6:30           ` Adrian Hunter
2017-10-04  7:53           ` Linus Walleij
2017-10-04  7:53             ` Linus Walleij
2017-10-04  8:01             ` Ulf Hansson
2017-10-04  8:01               ` Ulf Hansson
2017-10-02 14:44     ` Michal Hocko
2017-10-02 14:44       ` Michal Hocko
2017-10-02 14:55       ` Tetsuo Handa
2017-10-02 14:55         ` Tetsuo Handa

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=bec93e7f-e225-baff-0b5b-28a92aeed720@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    /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.