Revert r269404 and use cpu_ticks() for dbuf allocation.

Encode CPU's number by XOR'ing the CPU ID against the 64-bit cpu_ticks().

Reviewed by:	mav, gibbs
Differential Revision: https://phabric.freebsd.org/D521
MFC after:	2 weeks
This commit is contained in:
Xin LI 2014-08-03 09:47:51 +00:00
parent bcdd3bceb6
commit cd741a5e1d
2 changed files with 5 additions and 11 deletions

View File

@ -60,17 +60,6 @@ gethrtime(void) {
struct timespec ts;
hrtime_t nsec;
nanouptime(&ts);
nsec = (hrtime_t)ts.tv_sec * NANOSEC + ts.tv_nsec;
return (nsec);
}
static __inline hrtime_t
gethrtime_waitfree(void) {
struct timespec ts;
hrtime_t nsec;
getnanouptime(&ts);
nsec = (hrtime_t)ts.tv_sec * NANOSEC + ts.tv_nsec;
return (nsec);
@ -78,6 +67,7 @@ gethrtime_waitfree(void) {
#define gethrestime_sec() (time_second)
#define gethrestime(ts) getnanotime(ts)
#define gethrtime_waitfree() gethrtime()
extern int nsec_per_tick; /* nanoseconds per clock tick */

View File

@ -70,7 +70,11 @@ dbuf_cons(void *vdb, void *unused, int kmflag)
cv_init(&db->db_changed, NULL, CV_DEFAULT, NULL);
refcount_create(&db->db_holds);
#if defined(illumos) || !defined(_KERNEL)
db->db_creation = gethrtime();
#else
db->db_creation = cpu_ticks() ^ ((uint64_t)CPU_SEQID << 48);
#endif
return (0);
}