lkml.org 
[lkml]   [2010]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Frontswap [PATCH 0/4] (was Transcendent Memory): overview
On 04/25/2010 04:37 PM, Dan Magenheimer wrote:
>> My issue is with the API's synchronous nature. Both RAM and more
>> exotic
>> memories can be used with DMA instead of copying. A synchronous
>> interface gives this up.
>> :
>> Let's not allow the urge to merge prevent us from doing the right
>> thing.
>> :
>> I see. Given that swap-to-flash will soon be way more common than
>> frontswap, it needs to be solved (either in flash or in the swap code).
>>
> While I admit that I started this whole discussion by implying
> that frontswap (and cleancache) might be useful for SSDs, I think
> we are going far astray here. Frontswap is synchronous for a
> reason: It uses real RAM, but RAM that is not directly addressable
> by a (guest) kernel. SSD's (at least today) are still I/O devices;
> even though they may be very fast, they still live on a PCI (or
> slower) bus and use DMA. Frontswap is not intended for use with
> I/O devices.
>
> Today's memory technologies are either RAM that can be addressed
> by the kernel, or I/O devices that sit on an I/O bus. The
> exotic memories that I am referring to may be a hybrid:
> memory that is fast enough to live on a QPI/hypertransport,
> but slow enough that you wouldn't want to randomly mix and
> hand out to userland apps some pages from "exotic RAM" and some
> pages from "normal RAM". Such memory makes no sense today
> because OS's wouldn't know what to do with it. But it MAY
> make sense with frontswap (and cleancache).
>
> Nevertheless, frontswap works great today with a bare-metal
> hypervisor. I think it stands on its own merits, regardless
> of one's vision of future SSD/memory technologies.
>

Even when frontswapping to RAM on a bare metal hypervisor it makes sense
to use an async API, in case you have a DMA engine on board.

--
error compiling committee.c: too many arguments to function



\
 
 \ /
  Last update: 2010-04-25 16:19    [from the cache]
©2003-2011 Jasper Spaans