All of lore.kernel.org
 help / color / mirror / Atom feed
* MMC quirks relating to performance/lifetime.
@ 2011-02-08 21:22 Andrei Warkentin
  2011-02-08 21:38   ` Wolfram Sang
                   ` (3 more replies)
  0 siblings, 4 replies; 117+ messages in thread
From: Andrei Warkentin @ 2011-02-08 21:22 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

I'm not sure if this is the best place to bring this up, but Russel's
name is on a fair share of drivers/mmc code, and there does seem to be
quite a bit of MMC-related discussions. Excuse me in advance if this
isn't the right forum :-).

Certain MMC vendors (maybe even quite a bit of them) use a pretty
rigid buffering scheme when it comes to handling writes. There is
usually a buffer A for random accesses, and a buffer B for sequential
accesses. For certain Toshiba parts, it looks like buffer A is 8KB
wide, with buffer B being 4MB wide, and all accesses larger than 8KB
effectively equating to 4MB accesses. Worse, consecutive small (8k)
writes are treated as one large sequential access, once again ending
up in buffer B, thus necessitating out-of-order writing to work around
this.

What this means is decreased life span for the parts, and it also
means a performance impact on small writes, but the first item is much
more crucial, especially for smaller parts.

As I've mentioned, probably more vendors are affected. How about a
generic MMC_BLOCK quirk that splits the requests (and optionally
reorders) them? The thresholds would then be adjustable as
module/kernel parameters based on manfid. I'm asking because I have a
patch now, but its ugly and hardcoded against a specific manufacturer.

Thanks,
A

^ permalink raw reply	[flat|nested] 117+ messages in thread

end of thread, other threads:[~2011-03-08 14:03 UTC | newest]

Thread overview: 117+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-08 21:22 MMC quirks relating to performance/lifetime Andrei Warkentin
2011-02-08 21:38 ` Wolfram Sang
2011-02-08 21:38   ` Wolfram Sang
2011-02-08 22:42 ` Russell King - ARM Linux
2011-02-09  8:37 ` Linus Walleij
2011-02-09  8:37   ` Linus Walleij
2011-02-09  9:13   ` Arnd Bergmann
2011-02-09  9:13     ` Arnd Bergmann
2011-02-11 22:33     ` Andrei Warkentin
2011-02-11 22:33       ` Andrei Warkentin
2011-02-12 17:05       ` Arnd Bergmann
2011-02-12 17:05         ` Arnd Bergmann
2011-02-12 17:33         ` Andrei Warkentin
2011-02-12 17:33           ` Andrei Warkentin
2011-02-12 18:22           ` Arnd Bergmann
2011-02-12 18:22             ` Arnd Bergmann
2011-02-18  1:10       ` Andrei Warkentin
2011-02-18  1:10         ` Andrei Warkentin
2011-02-18 13:44         ` Arnd Bergmann
2011-02-18 13:44           ` Arnd Bergmann
2011-02-18 19:47           ` Andrei Warkentin
2011-02-18 19:47             ` Andrei Warkentin
2011-02-18 22:40             ` Andrei Warkentin
2011-02-18 22:40               ` Andrei Warkentin
2011-02-18 23:17               ` Andrei Warkentin
2011-02-18 23:17                 ` Andrei Warkentin
2011-02-19 11:20                 ` Arnd Bergmann
2011-02-19 11:20                   ` Arnd Bergmann
2011-02-20  5:56                   ` Andrei Warkentin
2011-02-20  5:56                     ` Andrei Warkentin
2011-02-20 15:23                     ` Arnd Bergmann
2011-02-20 15:23                       ` Arnd Bergmann
2011-02-22  7:05                       ` Andrei Warkentin
2011-02-22  7:05                         ` Andrei Warkentin
2011-02-22 16:49                         ` Arnd Bergmann
2011-02-22 16:49                           ` Arnd Bergmann
2011-02-19  9:54               ` Arnd Bergmann
2011-02-19  9:54                 ` Arnd Bergmann
2011-02-20  4:39                 ` Andrei Warkentin
2011-02-20  4:39                   ` Andrei Warkentin
2011-02-20 15:03                   ` Arnd Bergmann
2011-02-20 15:03                     ` Arnd Bergmann
2011-02-22  6:42                     ` Andrei Warkentin
2011-02-22  6:42                       ` Andrei Warkentin
2011-02-22 16:42                       ` Arnd Bergmann
2011-02-22 16:42                         ` Arnd Bergmann
2011-02-11 23:23     ` Linus Walleij
2011-02-11 23:23       ` Linus Walleij
2011-02-12 10:45       ` Arnd Bergmann
2011-02-12 10:45         ` Arnd Bergmann
2011-02-12 10:59         ` Russell King - ARM Linux
2011-02-12 10:59           ` Russell King - ARM Linux
2011-02-12 16:28           ` Arnd Bergmann
2011-02-12 16:28             ` Arnd Bergmann
2011-02-12 16:37             ` Russell King - ARM Linux
2011-02-12 16:37               ` Russell King - ARM Linux
2011-02-11 22:27   ` Andrei Warkentin
2011-02-11 22:27     ` Andrei Warkentin
2011-02-12 18:37     ` Arnd Bergmann
2011-02-12 18:37       ` Arnd Bergmann
2011-02-13  0:10       ` Andrei Warkentin
2011-02-13  0:10         ` Andrei Warkentin
2011-02-13 17:39         ` Arnd Bergmann
2011-02-13 17:39           ` Arnd Bergmann
2011-02-14 19:29           ` Andrei Warkentin
2011-02-14 19:29             ` Andrei Warkentin
2011-02-14 20:22             ` Arnd Bergmann
2011-02-14 20:22               ` Arnd Bergmann
2011-02-14 22:25               ` Andrei Warkentin
2011-02-14 22:25                 ` Andrei Warkentin
2011-02-15 17:16                 ` Arnd Bergmann
2011-02-15 17:16                   ` Arnd Bergmann
2011-02-17  2:08                   ` Andrei Warkentin
2011-02-17  2:08                     ` Andrei Warkentin
2011-02-17 15:47                     ` Arnd Bergmann
2011-02-17 15:47                       ` Arnd Bergmann
2011-02-20 11:27                       ` Andrei Warkentin
2011-02-20 11:27                         ` Andrei Warkentin
2011-02-20 14:39                         ` Arnd Bergmann
2011-02-20 14:39                           ` Arnd Bergmann
2011-02-22  7:46                           ` Andrei Warkentin
2011-02-22  7:46                             ` Andrei Warkentin
2011-02-22 17:00                             ` Arnd Bergmann
2011-02-22 17:00                               ` Arnd Bergmann
2011-02-23 10:19                               ` Andrei Warkentin
2011-02-23 10:19                                 ` Andrei Warkentin
2011-02-23 16:09                                 ` Arnd Bergmann
2011-02-23 16:09                                   ` Arnd Bergmann
2011-02-23 22:26                                   ` Andrei Warkentin
2011-02-23 22:26                                     ` Andrei Warkentin
2011-02-24  9:24                                     ` Arnd Bergmann
2011-02-24  9:24                                       ` Arnd Bergmann
2011-02-25 11:02                                       ` Andrei Warkentin
2011-02-25 11:02                                         ` Andrei Warkentin
2011-02-25 12:21                                         ` Arnd Bergmann
2011-02-25 12:21                                           ` Arnd Bergmann
2011-03-01 18:48                                           ` Jens Axboe
2011-03-01 18:48                                             ` Jens Axboe
2011-03-01 19:11                                             ` Arnd Bergmann
2011-03-01 19:11                                               ` Arnd Bergmann
2011-03-01 19:15                                               ` Jens Axboe
2011-03-01 19:15                                                 ` Jens Axboe
2011-03-01 19:51                                                 ` Arnd Bergmann
2011-03-01 19:51                                                   ` Arnd Bergmann
2011-03-01 21:33                                                   ` Andrei Warkentin
2011-03-01 21:33                                                     ` Andrei Warkentin
2011-03-02 10:34                                               ` Andrei Warkentin
2011-03-02 10:34                                                 ` Andrei Warkentin
2011-03-05  9:23                                                 ` Andrei Warkentin
2011-03-05  9:23                                                   ` Andrei Warkentin
2011-02-11 14:41 ` Pavel Machek
2011-02-11 14:51   ` Arnd Bergmann
2011-02-11 15:20     ` Lei Wen
2011-02-11 15:25       ` Arnd Bergmann
2011-03-08  6:59     ` Pavel Machek
2011-03-08 14:03       ` Arnd Bergmann
2011-03-08 14:03         ` Arnd Bergmann

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.