]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rados: load-gen: wake up on reply
authorSage Weil <sage@newdream.net>
Mon, 16 Jan 2012 18:30:38 +0000 (10:30 -0800)
committerSage Weil <sage@newdream.net>
Mon, 16 Jan 2012 18:40:36 +0000 (10:40 -0800)
So we can send requests more than once per second.

Signed-off-by: Sage Weil <sage@newdream.net>
src/rados.cc

index 36e09f25222e903bbdf265be188c0db3d031850a..6b8b411a63ef2ef9a127d328cf19a15a0be5967e 100644 (file)
@@ -323,6 +323,7 @@ public:
   }
 
   Mutex lock;
+  Cond cond;
 
   LoadGen(Rados *_rados) : rados(_rados), going_down(false), lock("LoadGen") {
     read_percent = 80;
@@ -360,6 +361,8 @@ public:
       op->completion->release();
 
     delete op;
+
+    cond.Signal();
   }
 };
 
@@ -508,8 +511,10 @@ int LoadGen::run()
   uint32_t total_sec = 0;
 
   while (1) {
-    usleep(1000);
-
+    lock.Lock();
+    utime_t one_second(1, 0);
+    cond.WaitInterval(g_ceph_context, lock, one_second);
+    lock.Unlock();
     utime_t now = ceph_clock_now(g_ceph_context);
 
     if (now > end_time)