From: Matt Benjamin Date: Tue, 9 Aug 2016 20:49:41 +0000 (-0400) Subject: rgw file: remove busy-wait in RGWLibFS::gc() X-Git-Tag: v10.2.4~82^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=91b65e7b4976103ea45c923bac9d21321d962773;p=ceph.git rgw file: remove busy-wait in RGWLibFS::gc() This is a background thread. However, CPU is wasted. Signed-off-by: Matt Benjamin (cherry picked from commit ca33241286f52d849dbde8092507131b8b1108cc) --- diff --git a/src/rgw/rgw_file.cc b/src/rgw/rgw_file.cc index 1bc6b1f4a480..7332feff034e 100644 --- a/src/rgw/rgw_file.cc +++ b/src/rgw/rgw_file.cc @@ -558,6 +558,7 @@ namespace rgw { } /* rgw_fh */ } /* event::type::READDIR */ } /* ev */ + std::this_thread::sleep_for(gc_interval); } while (! stop); } /* RGWLibFS::gc */ diff --git a/src/rgw/rgw_file.h b/src/rgw/rgw_file.h index 42b664910518..36ba1ee0d924 100644 --- a/src/rgw/rgw_file.h +++ b/src/rgw/rgw_file.h @@ -679,6 +679,9 @@ namespace rgw { struct rgw_fs fs; RGWFileHandle root_fh; + static constexpr std::chrono::seconds gc_interval = + std::chrono::seconds(120); + mutable std::atomic refcnt; RGWFileHandle::FHCache fh_cache;