diff --git a/benchmarks/others.py b/benchmarks/others.py
index f3fc81d22df182c2a4d562050aea8c84693ce654_YmVuY2htYXJrcy9vdGhlcnMucHk=..8db929b94913620b05973b3dd19fd3e905816932_YmVuY2htYXJrcy9vdGhlcnMucHk= 100644
--- a/benchmarks/others.py
+++ b/benchmarks/others.py
@@ -6,9 +6,6 @@
 
 class PerfTestSuite(BaseTestSuite):
 
-    def track_tags(self, *args, **kwargs):
-        return self.perfext('perftags')
-
     def track_status(self, *args, **kwargs):
         return self.perfext("perfstatus")
 
@@ -358,3 +355,25 @@
         cmd.append(source)
         cmd.append(destination)
         return self.perfext(*cmd)
+
+class PerfTagsTestSuite(BaseTestSuite):
+    params = BaseTestSuite.params + [['cold', 'warm']]
+    param_names = BaseTestSuite.param_names + ['changelog']
+
+    timeout = 300
+
+    @params_as_kwargs
+    def track_tags(self, changelog, *args, **kwargs):
+        if changelog == 'warm':
+            clearcache = False
+        elif changelog == 'cold':
+            clearcache = True
+        else:
+            assert False
+        cmd = ['perftags']
+        if clearcache:
+            cmd.append('--clear-revlogs')
+        else:
+            cmd.append('--no-clear-revlogs')
+        data = self.perfextjson(*cmd)
+        return data[None]['median']