[lkml]   [2009]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Discard support (was Re: [PATCH] swap: send callback when swap slot is freed)
    Chris Worley wrote:
    > So erase blocks are 512 bytes (if I write 512 bytes, an erase block is
    > now freed)? Not true.

    No, erase blocks are typically 512 KILO-bytes, or 1024 sectors.
    Logical write blocks are only 512 bytes, but most drives out there
    now actually use 4096 bytes as the native internal write size.

    Lots of issues there.

    The only existing "in the wild" TRIM-capable SSDs today all incur
    large overheads from TRIM --> they seem to run a garbage-collection
    and erase cycle for each TRIM command, typically taking 100s of milliseconds
    regardless of the amount being trimmed.

    So it makes send to gather small TRIMs into single larger TRIMs.

    But I think, even better, is to just not bother with the bookkeeping,
    and instead have the filesystem periodically just issue a TRIM for all
    free blocks within a block group, cycling through the block groups
    one by one over time.

    That's how I'd like it to work on my own machine here.
    Server/enterprise users very likely want something different.

    Pluggable architecture, anyone? :)

     \ /
      Last update: 2009-08-15 15:23    [W:0.021 / U:123.776 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site