[Bugs] [Bug 1220041] timer wheel and throttling in bitrot

bugzilla at redhat.com bugzilla at redhat.com
Sun May 10 12:29:48 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1220041



--- Comment #30 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/10720 committed in release-3.7 by Niels de
Vos (ndevos at redhat.com) 
------
commit 32865f8650057123a5fcf590c96a1ae3f6d22608
Author: Venky Shankar <vshankar at redhat.com>
Date:   Mon Apr 27 21:34:34 2015 +0530

    features/bitrot: Throttle filesystem scrubber

    This patch introduces multithreaded filesystem scrubber based
    on throttling option configured for a particular volume. The
    implementation "logically" breaks scanning and scrubbing with
    the number of scrubber threads auto-configured depending upon
    the throttle configuration. Scanning (crawling) is left single
    threaded (per brick) with entries scrubbed in bulk. On reaching
    this "bulk" watermark, scanner waits until entries are scrubbed.
    Bricks for a particular volume have a set of thread(s) assigned
    for scrubbing, with entries for each brick scrubbed in a round
    robin fashion to avoid scrub "stalls" when a brick (out of N
    bricks) is under active scrubbing.

    This mechanism helps us implement "pause/resume" with ease: all
    one need to do is to cleanup scrubber threads and let the main
    scanner thread "wait" untill scrubbing is resumed (where the
    scrubber thread(s) are spawned again), therefore continuing
    where we left off (unless we restart the deamons, where crawl
    initiates from root directory again, but I guess that's OK).

    [
        NOTE:

        Throttling is optional for the signer daemon, without which
        it runs full throttle. However, passing "-DBR_RATE_LIMIT_SIGNER"
        predefined in CFLAGS enables CPU throttling (during checksum
        calculation) thereby avoiding high CPU usage.
    ]

    Subsequent patches would introduce CPU throttling during hash
    calculation for scrubber.

    > Change-Id: I5701dd6cd4dff27ca3144ac5e3798a2216b39d4f
    > BUG: 1207020
    > Signed-off-by: Venky Shankar <vshankar at redhat.com>
    > Reviewed-on: http://review.gluster.org/10511
    > Tested-by: Gluster Build System <jenkins at build.gluster.com>
    > Reviewed-by: Vijay Bellur <vbellur at redhat.com>

    Change-Id: I5a125b2d0ac7dafd3e278b7fe4c6c9dd07af76dd
    Signed-off-by: Venky Shankar <vshankar at redhat.com>
    BUG: 1220041
    Reviewed-on: http://review.gluster.org/10720
    Tested-by: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Gaurav Kumar Garg <ggarg at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are the Docs Contact for the bug.


More information about the Bugs mailing list