Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932829Ab0D3ROK (ORCPT ); Fri, 30 Apr 2010 13:14:10 -0400 Received: from ksp.mff.cuni.cz ([195.113.26.206]:45007 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932801Ab0D3RMo (ORCPT ); Fri, 30 Apr 2010 13:12:44 -0400 Date: Thu, 29 Apr 2010 15:04:12 +0200 From: Pavel Machek To: Nitin Gupta Cc: Dan Magenheimer , Avi Kivity , linux-kernel@vger.kernel.org, linux-mm@kvack.org, jeremy@goop.org, hugh.dickins@tiscali.co.uk, JBeulich@novell.com, chris.mason@oracle.com, kurt.hackel@oracle.com, dave.mccracken@oracle.com, npiggin@suse.de, akpm@linux-foundation.org, riel@redhat.com Subject: Re: Frontswap [PATCH 0/4] (was Transcendent Memory): overview Message-ID: <20100429130411.GB1661@ucw.cz> References: <4BD16D09.2030803@redhat.com> <4BD1A74A.2050003@redhat.com> <4830bd20-77b7-46c8-994b-8b4fa9a79d27@default> <4BD1B427.9010905@redhat.com> <20100427125502.GA3681@ucw.cz> <4BD6F81B.1010606@vflare.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4BD6F81B.1010606@vflare.org> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1980 Lines: 44 On Tue 2010-04-27 20:13:39, Nitin Gupta wrote: > On 04/27/2010 06:25 PM, Pavel Machek wrote: > > > >>> Can we extend it? Adding new APIs is easy, but harder to maintain in > >>> the long term. > >> > >> Umm... I think the difference between a "new" API and extending > >> an existing one here is a choice of semantics. As designed, frontswap > >> is an extremely simple, only-very-slightly-intrusive set of hooks that > >> allows swap pages to, under some conditions, go to pseudo-RAM instead > > ... > >> "Extending" the existing swap API, which has largely been untouched for > >> many years, seems like a significantly more complex and error-prone > >> undertaking that will affect nearly all Linux users with a likely long > >> bug tail. And, by the way, there is no existence proof that it > >> will be useful. > > > >> Seems like a no-brainer to me. > > > > Stop right here. Instead of improving existing swap api, you just > > create one because it is less work. > > > > We do not want apis to cummulate; please just fix the existing one. > > > I'm a bit confused: What do you mean by 'existing swap API'? > Frontswap simply hooks in swap_readpage() and swap_writepage() to > call frontswap_{get,put}_page() respectively. Now to avoid a hardcoded > implementation of these function, it introduces struct frontswap_ops > so that custom implementations fronswap get/put/etc. functions can be > provided. This allows easy implementation of swap-to-hypervisor, > in-memory-compressed-swapping etc. with common set of hooks. Yes, and that set of hooks is new API, right? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/