Project

General

Profile

Actions

Bug #11896

closed

ceph command hangs and calls repeatedly gettimeofday when rdtsc() in Cycles.h returns 0

Added by Risto Sainio almost 9 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Earlier version of Cycles.h aborted compilation when the OS/arch was not one of the defined ones. Now it only gives warning and later, once installed, when Cycles::init is called it seems to hang as rdtsc always returns 0.
I solved the problem on Cubieboard by accessing the 32-bit performance counter and implemented following:
#elif defined(ARM_ARCH_7A)
uint32_t r = 0;
asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(r) );
return (uint64_t) r;

It would be better if the compilation gets aborted as long as the upper layers are not able to handle this situation properly

Actions #1

Updated by Nathan Cutler almost 9 years ago

  • Tracker changed from Tasks to Bug
  • Project changed from Stable releases to Ceph
  • Source set to Community (dev)
  • Regression set to No
Actions #2

Updated by Sage Weil almost 9 years ago

  • Priority changed from Normal to High
Actions #3

Updated by Risto Sainio almost 9 years ago

Just checked git/master and seems that Cycles.cc has a fix for this - have not tested it yet

Actions #4

Updated by Kefu Chai almost 9 years ago

  • Status changed from New to Resolved
Actions

Also available in: Atom PDF