Re: Discard support (was Re: [PATCH] swap: send callback when swap slot is freed)

Matthew Wilcox
2009-08-13T15:26:37Z

On Thu, Aug 13, 2009 at 08:17:34AM -0700, david@lang.hm wrote:
> On Thu, 13 Aug 2009, Matthew Wilcox wrote:
>
>> So TRIM isn't free, and there's a better way for the drive to find
>> out that the contents of a block no longer matter -- write some new
>> data to it. So if we just swapped a page in, and we're going to swap
>> something else back out again soon, just write it to the same location
>> instead of to a fresh location. You've saved a command, and you've
>> saved the drive some work, plus you've allowed other users to continue
>> accessing the drive in the meantime.
>
> on the other hand, if you then end up swapping the page you read in out
> again and haven't dirtied it, you now have to actually write it as
> opposed to just throwing it away (knowing that you already have a copy of
> it stored on the swap device)

This is true, but at the point where you call discard, you will also
have to write it again. My point was about delaying calls to discard,
rather than moving the point, or changing the circumstances under which
one calls discard.