2009/6/20 Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>: > We call this latter class "transcendent memory" and it > provides an interesting opportunity to more efficiently > utilize RAM in a virtualized environment. However this > "memory but not really memory" may also have applications > in NON-virtualized environments, such as hotplug-memory > deletion, SSDs, and page cache compression. Others have > suggested ideas such as allowing use of highmem memory > without a highmem kernel, or use of spare video memory. Here is what I consider may be a use case from the embedded world: we have to save power as much as possible, so we need to shut off entire banks of memory. Currently people do things like put memory into self-refresh and then sleep, but for long lapses of time you would want to compress memory towards lower addresses and turn as many banks as possible off. So we have something like 4x16MB banks of RAM = 64MB RAM, and the most necessary stuff easily fits in one of them. If we can shut down 3x16MB we save 3 x power supply of the RAMs. However in embedded we don't have any swap, so we'd need some call that would attempt to remove a memory by paging out code and data that has been demand-paged in from the FS but no dirty pages, these should instead be moved down to memory which will be retained, and the call should fail if we didn't succeed to migrate all dirty pages. Would this be possible with transcendent memory? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html