Re: mm fragmentation patch

Colin Plumb (colin@nyx.net)
Fri, 17 Jul 1998 05:54:01 -0600 (MDT)


> while FIFO is usually better for caching, it has a hidden effect on SMP,
> freshly freed and reallocated dirty pages might generate cross-CPU cache
> invalidation traffic if a page shows up on 'another' CPU. If they are
> LIFO, dirty cachelines get clean in a 'natural' way, by getting kicked out
> of the LRU scheme sometime. (possibly giving a more effective way of
> writeback, instead of the forced writeback)

> so LIFO might even end up performing better on SMP, when compared to the
> current allocator.

> (although there is a better way to solve this on SMP, by doing per-CPU
> freelists, but anyway)

Could you combine the two? I'm thinking about having a "last CPU"
index in each block header, and a CPU first searches for an available
block that was last used by it (in FIFO order), and only steals from
another CPU if it has trouble.

While there are still SMP inefficiencies, this lets global combining
take place while preserving the essential processor affinity.

Just a dumb idea...

-- 
	-Colin

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html