Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Feb 2018 19:31:39 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r328709 - stable/11/sbin/nvmecontrol
Message-ID:  <201802011931.w11JVdwA021797@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Thu Feb  1 19:31:39 2018
New Revision: 328709
URL: https://svnweb.freebsd.org/changeset/base/328709

Log:
  MFC r308869 (by imp):
  i386 turns out to not have __uint128_t. So confusingly use 64-bit math
  instead. Since we're little endian, we can get away with it. Also,
  since the counters in quesitons would require billions of iops for
  tens of billions of seconds to overflow, and since such data rates are
  unlikely for people using i386 for a while, that's OK. The fastest
  cards today can't do even a million IOPs.

Modified:
  stable/11/sbin/nvmecontrol/logpage.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sbin/nvmecontrol/logpage.c
==============================================================================
--- stable/11/sbin/nvmecontrol/logpage.c	Thu Feb  1 19:30:37 2018	(r328708)
+++ stable/11/sbin/nvmecontrol/logpage.c	Thu Feb  1 19:31:39 2018	(r328709)
@@ -75,10 +75,18 @@ kv_lookup(const struct kv_name *kv, size_t kv_count, u
 }
 
 /*
- * 128-bit integer augments to standard values
+ * 128-bit integer augments to standard values. On i386 this
+ * doesn't exist, so we use 64-bit values. The 128-bit counters
+ * are crazy anyway, since for this purpose, you'd need a
+ * billion IOPs for billions of seconds to overflow them.
+ * So, on 32-bit i386, you'll get truncated values.
  */
 #define UINT128_DIG	39
+#ifdef __i386__
+typedef uint64_t uint128_t;
+#else
 typedef __uint128_t uint128_t;
+#endif
 
 static inline uint128_t
 to128(void *p)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802011931.w11JVdwA021797>