From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Lord Subject: Re: Discard support (was Re: [PATCH] swap: send callback when swap slot is freed) Date: Fri, 14 Aug 2009 18:10:36 -0400 Message-ID: <4A85E0DC.9040101@rtr.ca> References: <200908122007.43522.ngupta@vflare.org> <20090813151312.GA13559@linux.intel.com> <20090813162621.GB1915@phenom2.trippelsdorf.de> <87f94c370908131115r680a7523w3cdbc78b9e82373c@mail.gmail.com> <3e8340490908131354q167840fcv124ec56c92bbb830@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <3e8340490908131354q167840fcv124ec56c92bbb830@mail.gmail.com> Sender: owner-linux-mm@kvack.org To: Bryan Donlan Cc: david@lang.hm, Greg Freemyer , Markus Trippelsdorf , Matthew Wilcox , Hugh Dickins , Nitin Gupta , Ingo Molnar , Peter Zijlstra , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org, Linux RAID List-Id: linux-ide@vger.kernel.org Bryan Donlan wrote: .. > Perhaps an interface (ioctl, etc) can be added to ask a filesystem to > discard all unused blocks in a certain range? (That is, have the > filesystem validate the request under any necessary locks before > passing it to the block IO layer) .. While possibly TRIM-specific, this approach has the lowest overhead and probably the greatest gain-for-pain ratio. But it may not be as nice for enterprise (?). On the Indilinx-based SSDs (eg. OCZ Vertex), TRIM seems to trigger an internal garbage-collection/erase cycle. As such, the drive really prefers a few LARGE trim lists, rather than many smaller ones. Here's some information that a vendor has observed from the Win7 use of TRIM: > TRIM command is sent: > - About 2/3 of partition is filled up, when file is deleted. > (I am not talking about send file to trash bin.) > - In the above case, when trash bin gets emptied. > - In the above case, when partition is deleted. > > TRIM command is not sent:- > - When file is moved to trash bin > - When partition is formatted. (Both quick and full format) > - When empty partition is deleted > - When file is deleted while there is big remaining free space .. His words, not mine. But the idea seems to be to batch them in large chunks. My wiper.sh "trim script" is packaged with the latest hdparm (currently 9.24) on sourceforge, for those who want to try this stuff for real. No special kernel support is required to use it. Cheers Mark -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org