lkml.org 
[lkml]   [2011]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Set the initial TRIM information as TRIMMED
    On 12/1/11 6:01 PM, Kyungmin Park wrote:
    > On 12/2/11, Eric Sandeen <sandeen@redhat.com> wrote:
    >> On 12/1/11 1:00 AM, Kyungmin Park wrote:
    >>> From: Kyungmin Park <kyungmin.park@samsung.com>
    >>>
    >>> Now trim information doesn't stored at disk so every boot time. it's
    >>> cleared.
    >>> and do the trim all disk groups.
    >>> But assume that it's already trimmed at previous time so don't need to
    >>> trim it again. So set the intial state as trimmed.
    >>>
    >>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
    >>> ---
    >>> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
    >>> index e2d8be8..97ef342 100644
    >>> --- a/fs/ext4/mballoc.c
    >>> +++ b/fs/ext4/mballoc.c
    >>> @@ -1098,6 +1098,12 @@ int ext4_mb_init_group(struct super_block *sb,
    >>> ext4_group_t group)
    >>> goto err;
    >>> }
    >>> mark_page_accessed(page);
    >>> +
    >>> + /*
    >>> + * TRIM information is not stored at disk so set the initial
    >>> + * state as trimmed. Since previous time it's already trimmed all
    >>> + */
    >>> + EXT4_MB_GRP_SET_TRIMMED(this_grp);
    >>
    > Hi,
    >
    >> Hm, so if there were freed but un-trimmed blocks at this point, we will
    >> never trim them until we free _another_ block in the group, right? That
    >> might be a reasonable tradeoff, but it is somewhat surprising behavior.
    >>
    >> i.e. say we do:
    >>
    >> mount /mnt
    >> rm -rf /mnt/very_big_file
    >> umount /mnt
    >>
    >> mount /mnt
    >> fitrim /mnt
    > another word, you can run fitrim after rm -rf
    > yes, it's trade-off.
    >
    > In my case, phone scenario, no umount system and data partition. it's
    > burden to trim at boot time. it has still slower boot time.
    > some daemon or program run fitrm at filesystem. it consumes time and
    > hurt other boot processes.
    >>
    >> then we won't trim anything at all, right, despite there being many
    >> new free blocks? Which would be rather unexpected.
    >>
    >> If we don't store the trimmed state on disk, I think we should
    >> probably stick with the slower first-time trim, and the more obvious
    >> behavior (all free blocks are always trimmed whenever a trim
    >> command is issued).
    >
    > Umm how do you think, introduce the trim force command for this?

    Alternately, can we use a bit in bg_flags to keep a better view of this
    state on disk, if this is critical?

    -Eric

    > Thank you,
    > Kyungmin Park



    \
     
     \ /
      Last update: 2011-12-02 16:59    [W:0.053 / U:0.384 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site