[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: Re: [PATCH] Add fstrim support to restore NAND/eMMC write performance.
From: Bernhard Reutner-Fischer <rep.dot.nop () gmail ! com>
Date: 2013-02-23 11:59:13
Message-ID: 20130223115913.GC15533 () mx ! loc
[Download RAW message or body]
On Sat, Feb 23, 2013 at 10:46:51AM +0100, Bernhard Reutner-Fischer wrote:
>On Fri, Feb 22, 2013 at 02:43:36PM +0200, eugenesan@gmail.com wrote:
>>From: Malek Degachi <malek-degachi@laposte.net>
>>
>>fstrim applet is a port from util-linux.
>>
>>"Trimming" your NAND/eMMC storage will restore the write performance back to normal
>>after having slow down issues on sequential write and random write due to usage over time.
>>
>>Good reading on subject: http://forum.xda-developers.com/showthread.php?t=1971852
>>
>>Signed-off-by: Eugene San (eugenesan) <eugenesan@gmail.com>
>>---
>> include/applets.src.h | 1 +
>> util-linux/Config.src | 7 ++++
>> util-linux/Kbuild.src | 1 +
>> util-linux/fstrim.c | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++
>> 4 files changed, 123 insertions(+)
>> create mode 100644 util-linux/fstrim.c
>>
>>diff --git a/include/applets.src.h b/include/applets.src.h
>>index 29ab167..c9244fb 100644
>>--- a/include/applets.src.h
>>+++ b/include/applets.src.h
>>@@ -161,6 +161,7 @@ IF_FSCK(APPLET(fsck, BB_DIR_SBIN, BB_SUID_DROP))
>> //IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, fsck_ext2))
>> //IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, fsck_ext3))
>> IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, BB_DIR_SBIN, BB_SUID_DROP, fsck_minix))
>>+IF_FSTRIM(APPLET(fstrim, BB_DIR_SBIN, BB_SUID_DROP))
>> IF_FSYNC(APPLET_NOFORK(fsync, fsync, BB_DIR_BIN, BB_SUID_DROP, fsync))
>> IF_FTPD(APPLET(ftpd, BB_DIR_USR_SBIN, BB_SUID_DROP))
>> IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, BB_DIR_USR_BIN, BB_SUID_DROP, ftpget))
>>diff --git a/util-linux/Config.src b/util-linux/Config.src
>>index 6c1b928..a82817c 100644
>>--- a/util-linux/Config.src
>>+++ b/util-linux/Config.src
>>@@ -246,6 +246,13 @@ config FSCK_MINIX
>> check for and attempt to repair any corruption that occurs to a minix
>> filesystem.
>>
>>+config FSTRIM
>>+ bool "fstrim"
>>+ default y
>>+ select PLATFORM_LINUX
>
>Doesn't that work on android, too?
>
>>diff --git a/util-linux/fstrim.c b/util-linux/fstrim.c
>>new file mode 100644
>>index 0000000..915de06
>>--- /dev/null
>>+++ b/util-linux/fstrim.c
>
>>+static const struct suffix_mult fstrim_sfx[] = {
>>+ { "KiB", 1024 },
>>+ { "kiB", 1024 },
>>+ { "K", 1024 },
>>+ { "k", 1024 },
>>+ { "MiB", 1048576 },
>>+ { "miB", 1048576 },
>>+ { "M", 1048576 },
>>+ { "m", 1048576 },
>>+ { "GiB", 1073741824 },
>>+ { "giB", 1073741824 },
>>+ { "G", 1073741824 },
>>+ { "g", 1073741824 },
>>+ { "KB", 1000 },
>>+ { "MB", 1000000 },
>>+ { "GB", 1000000000 },
>>+ { "", 0 }
>>+};
>
>>+ if (opts & OPT_v)
>>+ printf("%s: %llu bytes was trimmed\n", argv[optind], range.len);
>
>Please use make_human_readable_str()
never mind. I meant xatoull_sfx with the default suffixes, but
apparently we somehow lost support for a common suffix table (?).
One could revisit git grep -E '(_s[u]*[f]+[i]*[xc]*)'
cheers,
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic