]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "Fix read performance regression in ObjectCacher"
authorSage Weil <sage@redhat.com>
Fri, 24 Oct 2014 18:05:53 +0000 (11:05 -0700)
committerSage Weil <sage@redhat.com>
Fri, 24 Oct 2014 18:05:53 +0000 (11:05 -0700)
This reverts commit 65be257e9295619b960b49f6aa80ecdf8ea4d16a.

Too late for giant.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osdc/ObjectCacher.cc
src/osdc/ObjectCacher.h

index 2579cb3797dedb5d3691a7310778284e612a72f1..93cede5b7b802daf606c3a35f3a0e136fb77a883 100644 (file)
@@ -950,14 +950,14 @@ void ObjectCacher::flush(loff_t amount)
 }
 
 
-void ObjectCacher::trim(uint64_t extra_space)
+void ObjectCacher::trim()
 {
   assert(lock.is_locked());
   ldout(cct, 10) << "trim  start: bytes: max " << max_size << "  clean " << get_stat_clean()
                 << ", objects: max " << max_objects << " current " << ob_lru.lru_get_size()
                 << dendl;
 
-  while (get_stat_clean() > 0 && (uint64_t) (get_stat_clean() + get_stat_rx() + extra_space) > max_size) {
+  while (get_stat_clean() > 0 && (uint64_t) get_stat_clean() > max_size) {
     BufferHead *bh = static_cast<BufferHead*>(bh_lru_rest.lru_expire());
     if (!bh)
       break;
@@ -1115,10 +1115,6 @@ int ObjectCacher::_readx(OSDRead *rd, ObjectSet *oset, Context *onfinish,
            ++bh_it) {
         loff_t clean = get_stat_clean() + get_stat_rx() +
                        bh_it->second->length();
-       if (get_stat_rx() > 0 && static_cast<uint64_t>(clean) > max_size) {
-         trim(bh_it->second->length());
-       }
-       clean = get_stat_clean() + get_stat_rx() + bh_it->second->length();
         if (get_stat_rx() > 0 && static_cast<uint64_t>(clean) > max_size) {
           // cache is full -- wait for rx's to complete
           ldout(cct, 10) << "readx missed, waiting on cache to free "
index 871c8eb2de1d9e62cc218af539c0bc084291228a..9685ee3838bedf0aa111ce426436f1927eb8b9cd 100644 (file)
@@ -435,7 +435,7 @@ class ObjectCacher {
   void bh_read(BufferHead *bh);
   void bh_write(BufferHead *bh);
 
-  void trim(uint64_t extra_space = 0);
+  void trim();
   void flush(loff_t amount=0);
 
   /**