[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 05 May 2010 21:35:17 +0530
From: Nitin Gupta <ngupta@...are.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Greg KH <greg@...ah.com>, Minchan Kim <minchan.kim@...il.com>,
Pekka Enberg <penberg@...helsinki.fi>,
Hugh Dickins <hugh.dickins@...cali.co.uk>,
Cyp <cyp561@...il.com>, driverdev <devel@...verdev.osuosl.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/3] ramzswap: Eliminate stale data in compressed memory
On 05/05/2010 08:44 PM, Linus Torvalds wrote:
>
>
> On Wed, 5 May 2010, Nitin Gupta wrote:
>>
>> ramzswap driver creates RAM based block devices which can be
>> used (only) as swap disks. Pages swapped to these disks are
>> compressed and stored in memory itself.
>
> Ok, this patch series looks way better, if only because it looks less
> hacky.
>
> That said, I absolutely _hate_ the f*cking notifier model that takes
> "type" flags. It's a disgrace. It's a horrible horrible model.
>
You mean you didn't like the 'swap type' value passed around by notifier
calls, as here:
"blocking_notifier_call_chain(&swapon_notify_list, type, swap_file);" ?
> I'd much rather bind a nice "swap_operations" structure to the device, and
> have that structure have function pointers for the different operations.
> No stupid "operation type codes". Real, honest-to-goodness function
> pointers.
>
I think such 'swap_operations' structure will be have to be part of
block_device_operations, so we may access it from swap_entry_free()
where a swap slot is freed. This will also get rid of all this notifier
stuff.
The patch you nacked did something similar: it add 'swap_slot_free_callback'
directly to block_device_operations. Without such change, I could not think
of any way to do away with notifiers.
> The notifier layer is a total piece of sh*t. I'm sorry I ever merged it,
> and I'm _doubly_ sorry that it's use is so horribly widespread. It's a
> mistake.
Thanks,
Nitin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists