Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Dec 16, 2014
  1. @mohans

    Merge pull request #196 from flygoast/master

    mohans authored
    Fixed typo.
Commits on Dec 14, 2014
  1. @flygoast

    Fixed typo.

    flygoast authored
Commits on Nov 26, 2014
  1. @mohans

    Merge pull request #194 from iliastsi/master

    mohans authored
    Remove dm_target from cache list before freeing it
Commits on Nov 20, 2014
  1. Remove dm_target from cache list before freeing it

    Ilias Tsitsimpis authored
    Function 'flashcache_dtr' destroys the dmc object before removing it
    from the cache list. This causes a kernel oops with 'unable to handle
    kernel paging request' in case the functions 'flashcache_dtr' and
    'flashcache_notify_reboot' are called at the same time since the latter
    tries to access memory that the first one has freed.
    
    This patch fixes the above bug by removing the dmc object from the
    cache list before deallocating it.
Commits on Nov 3, 2014
  1. 3.17. 3.18 compilation fixes.

    Mohan Srinivasan authored
    Summary:
    3.17. 3.18 compilation fixes.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 8, 2014
  1. Add iterate_devices flashcache function. Up the higher bound on dirty…

    Mohan Srinivasan authored
    … thresh to 95% (from 90%).
    
    Summary:
    1) Add iterate_devices flashcache function. Needed to make flashcache work with 4KB sectored
    "disk" devices.
    2) Up the higher bound on dirty thresh to 95% (from 90%).
    Thanks to Kumar Sundararajan (facebook) for help with this change !
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 3, 2014
  1. Revert use of flashcache_kcopy until we find and fix a subtle bug.

    Mohan Srinivasan authored
    Summary: Revert the use of flashcache_kcopy, and fall back to the
    tried and tested use of kernel kcopyd until we find and fix a subtle
    bug causing copy job leaks. The commit also removed some old #ifdef'ed
    out code.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 1, 2014
  1. Changes to add "writecache" mode - write only caching

    Mohan Srinivasan authored
    Summary: Commit contains 2 changes
    1) Add a "writecache" mode, a variant of writeback caching where
    only incoming writes are cached.
    2) Improves disk write clustering for disk cleaning by reading
    all the dirty blocks from flash in a chain and then issuing large
    write for the entire chain (flashcache_kcopy.c).
    
    Test Plan:
    
    Reviewers: Herman Lee (facebook).
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Jul 7, 2014
  1. Fix a horrible breakage in the previous 2 commits that causes instant…

    Mohan Srinivasan authored
    … crashes.
    
    Summary: Fix a horrible breakage in the previous 2 commits that causes instant
    crashes on all kernels.
    
    Test Plan: Tested on 2.6.38.
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Jul 4, 2014
  1. Fix another (< 3.14) compilation issue.

    Mohan Srinivasan authored
    Summary: Fix another (< 3.14) compilation issue.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Jul 3, 2014
  1. Compilation fixes for 3.14+

    Mohan Srinivasan authored
    Summary: Compilation fixes for 3.14+
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Dec 9, 2013
  1. @mohans

    Merge pull request #155 from pubyun/master

    mohans authored
    fix compile error on RHEL 6.5
Commits on Dec 6, 2013
  1. @pubyun

    fix compile error on RHEL 6.5

    pubyun authored
Commits on Oct 17, 2013
  1. Bump flashcache sw rev to 3.1.1.

    Mohan Srinivasan authored
    Summary: Bump flashcache sw rev to 3.1.1.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
  2. Revert previous change.

    Mohan Srinivasan authored
    Summary: Revert previous change. Some code that I did not intend
    to commit got committed accidentally.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Oct 16, 2013
  1. Up flashcache SW rev to 3.1.1

    Mohan Srinivasan authored
    Summary: Up flashcache SW rev to 3.1.1
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Oct 9, 2013
  1. @mohans

    Merge pull request #145 from jb044/master

    mohans authored
    Add dracut-flashcache-0.3, initial commit
  2. Add dracut-flashcache-0.3, initial commit

    Jeroen Beerstra authored
Commits on Sep 6, 2013
  1. @mohans

    Merge pull request #136 from hshopeful/patch-1

    mohans authored
    Update flashcache_reclaim.c
Commits on Sep 5, 2013
  1. Fix for a bug where we "leak" cache blocks.

    Mohan Srinivasan authored
    Summary:
    
    Fix for a bug where we "leak" INVALID blocks. This happens if we
    get uncacheable reads on a fresh cache. The symptom of this is that
    after a few days of running (and load), the cache will always be < 100%
    utilized. Thanks to Domas Mituzas for finding the bug and Kumar Sundararajan
    for his help in fixing this.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Sep 2, 2013
  1. @hshopeful

    Update flashcache_reclaim.c

    hshopeful authored
    The function of flashcache_reclaim_demote_block() is to swap this hot block with the MRU block in the warm queue.
    
    And the MRU block in the warm queue is related to warmlist_lru_tail,so
    
    the code:
    warm_block = cache_set->warmlist_lru_head; 
    
    should be:
    warm_block = cache_set->warmlist_lru_tail;
Commits on Aug 23, 2013
  1. An uncacheable READ should be served out of the cache when possible.

    Mohan Srinivasan authored
    Summary:
    Fix for another bug that got introduced during the mergeorama.
    An uncacheable READ will end up evicting the cached block (cleaning
    it first if necessary). This should not happen, we should always
    try and serve the cached block on an uncacheable READ. But a READ
    miss will go to disk.
    
    This bug does not affect correctness, but it could adversely impact
    cache hit rates.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
  2. New disk write clustering algorithm.

    Mohan Srinivasan authored
    Summary:
    Now that we have per-block hashes, this commit adds a new (and
    hopefully improved) dirty block clustering algorithm. The new
    algorithm is disabled by default and can be enabled by
    new_style_write_merge sysctl.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 22, 2013
  1. Fix for a SMP locking bug introduced in the recent merge-o-rama.

    Mohan Srinivasan authored
    Summary:
    Fix a bug in the locking of the skip_sequential_io logic that
    was introduced in the merge-o-rama.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 21, 2013
  1. Re-fix a bug that was fixed long ago but change clobbered by recent m…

    Mohan Srinivasan authored
    …erge-o-rama.
    
    Summary:
    Re-commit a fix for a bug. This fix was committed a long time ago, but it was
    clobbered amidst the recent merge-o-rama. The bug causes a crash (assertion
    failure) in the (fallow_cleaning && LRU_reclaim) case. The original fix was
    this :
    
         commit 60a143e
         Author: Mohan Srinivasan <mohan@fb.com>
         Date:   Mon Jul 9 11:36:54 2012 -0700
    
         Fix for a crash for the (fallow_cleaning && LRU_reclaim) case.
    
        Summary: Fix for a copy-paste bug, which can cause crashes when fallow cleaning is enabled in
        conjunction with LRU reclamation. Found by Vyacheslav Maslow and Wang Ning. This bug was also
        fixed a long time ago (but not committed) by Kumar Sundararajan (facebook).
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 16, 2013
  1. Fix a locking bug in skip_sequential_io introduced in the ulocks commit.

    Mohan Srinivasan authored
    Summary: We were trying to acquire the ioctl_lock() again in the same thread.
    It was acquired in flashcache_map(), which calls into flashcache_uncacheable()
    which calls skip_sequential_io(). The locking changes tried to re-acquire the
    spinlock in skip_sequential_io() again.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 13, 2013
  1. Missing flashcache_reclaim.c file from earlier commit.

    Mohan Srinivasan authored
    Summary: Missing flashcache_reclaim.c file from earlier commit.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
  2. Block hashing, fast allocation of invalid blocks, important fixes.

    Mohan Srinivasan authored
    Summary:
    1) Hash all VALID blocks in a set for fast lookups and invalidations.
    2) Fast allocation of INVALID blocks.
    3) Critical fixes - fix for a softlockup (kworker doing flashcache
       processing), page allocation failures in the background cleaning
       path by pre-allocation of background buffers, serious bug that
       causes data corruption on a flashcache_load because the disk_assoc
       was initialized wrongly.
    
    Ported to open source from internal facebook repo.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 7, 2013
  1. Flashcache ulocks changes.

    Mohan Srinivasan authored
    Summary:
    
    Sweeping ulocks changes to flashcache.
    
    Ported forward from the facebook internal repo.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 6, 2013
  1. Make each in-memory cacheblock state packed - 18 bytes each.

    Mohan Srinivasan authored
    Summary: Make 'struct cacheblock' a packed struct. So it fits in
    18 bytes (down from 24 bytes).
    
    Ported forward from facebook's internal repo.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
  2. Lots of flashcache IO scaling changes.

    Mohan Srinivasan authored
    Summary:
    
    This commit has a number of flashcache changes aimed at improving
    IO scaling.
    1) Uniform distribution of blocks onto cache sets (instead of the
    linear mapping before). But pin a consecutive run of disk blocks
    onto a cache set (for clustering when writing). This necessitates
    a flashcache ssd rev bump (2->3). Backwards compatiblity is maintained.
    2) New heuristic algorithm to clean dirty+fallow blocks. When we
    replace a block (read or write cache miss), we opportunistically look
    to see if the least recent block on LRU is dirty and if so we clean it.
    This makes more room in the cache for reads.
    3) New LRU algorithm - a variant of the midpoint algorithm, using
    2 LRU Queues.
    Thanks to Kumar for co-authorship of some of these changes and Domas
    for driving this round of flashcache scaling work.
    
    Ported forward from facebook's internal repo.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Aug 4, 2013
  1. Fix in del_all_pids, to the existence of a pid logic.

    Mohan Srinivasan authored
    Summary: We had commented out the code in the del_all_pids logic
    where we checked to see if the pid we are deleting is currently
    alive in all releases > 2.6.31. This is because the find_task_pid*
    API wasn't EXPORT_SYMBOL'ed in .33. It is in .38. So resurrecting
    this back for Linux releases >= 2.6.38.
    Fix brought in from facebook internal flashcache repo (kinda
    important for MySQL).
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
  2. Fix flashcache reboot notify hook to drop references on the cachedev …

    Mohan Srinivasan authored
    …and diskdev after syncing
    
    everything out.
    
    Summary: Fix flashcache reboot notify hook to drop references on the cachedev and diskdev
    after syncing  everything out. Fix ported from facebook internal repo. Fix was originally
    submitted by Kumar Sundararajan.
    
    Test Plan:
    
    Reviewers:
    
    CC:
    
    Task ID: #
    
    Blame Rev:
Commits on Jul 18, 2013
  1. @mohans

    Merge pull request #129 from igorabiola/kernelV3.10

    mohans authored
    fix compilation on kernel 3.10
  2. @mohans

    Merge pull request #130 from stnoonan/patch-1

    mohans authored
    Fix misspelling of administration
Something went wrong with that request. Please try again.