[BUG] SLOB + MMC = esplode

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey all,

In the pursuit of the ultimate, the smallest kernel ever, I selected the SLOB allocator instead of the default SLAB alloc. Not a good plan. The MMC driver bails with

Quote:
Kernel panic - not syncing: Aiee, killing interrupt handler!
If you're an Atmel guy reading this, any chance of a fix or is a deep, painful problem and we should just use SLAB and be done with it? It's running on a stock STK1000. If you're a regular-type person, take my advice and stick with SLAB for a while. Full config and log attached. Worth submitting to LKML or shall I let it propagate through Atmel from here?

Cheers,
-S.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Use the default SLAB allocator, I can not remember why just now. How said something about it a while ago, but I can not locate it.

Hans-Christian

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Am doing so, it isn't that much bigger anyway, just a little more complex. Would be nice to know what's happening there anyway. Ah well, will be interesting to know if SLUB works when that hits the shelves soon.

-S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

squidgit wrote:
Would be nice to know what's happening there anyway.

SLOB doesn't guarantee cacheline-aligned allocations. That's a major showstopper for many drivers using DMA, including MMC. You should probably be careful with CONFIG_DEBUG_SLAB too.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yea that'd do it, cheers how.

Seems more than a bit dodgy, after all, how many systems in this world _don't_ use DMA in some form? Seems to render SLOB somewhat useless.

-S.