Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F97562820
D25464.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D25464.diff
View Options
Index: head/sys/opencrypto/crypto.c
===================================================================
--- head/sys/opencrypto/crypto.c
+++ head/sys/opencrypto/crypto.c
@@ -54,8 +54,6 @@
* PURPOSE.
*/
-#define CRYPTO_TIMING /* enable timing support */
-
#include "opt_compat.h"
#include "opt_ddb.h"
@@ -238,12 +236,6 @@
SYSCTL_STRUCT(_kern_crypto, OID_AUTO, stats, CTLFLAG_RW, &cryptostats,
cryptostats, "Crypto system statistics");
-#ifdef CRYPTO_TIMING
-static int crypto_timing = 0;
-SYSCTL_INT(_debug, OID_AUTO, crypto_timing, CTLFLAG_RW,
- &crypto_timing, 0, "Enable/disable crypto timing support");
-#endif
-
/* Try to avoid directly exposing the key buffer as a symbol */
static struct keybuf *keybuf;
@@ -1409,11 +1401,6 @@
cryptostats.cs_ops++;
-#ifdef CRYPTO_TIMING
- if (crypto_timing)
- binuptime(&crp->crp_tstamp);
-#endif
-
crp->crp_retw_id = ((uintptr_t)crp->crp_session) % crypto_workers_num;
if (CRYPTOP_ASYNC(crp)) {
@@ -1647,33 +1634,7 @@
return (0);
}
-#ifdef CRYPTO_TIMING
static void
-crypto_tstat(struct cryptotstat *ts, struct bintime *bt)
-{
- struct bintime now, delta;
- struct timespec t;
- uint64_t u;
-
- binuptime(&now);
- u = now.frac;
- delta.frac = now.frac - bt->frac;
- delta.sec = now.sec - bt->sec;
- if (u < delta.frac)
- delta.sec--;
- bintime2timespec(&delta, &t);
- timespecadd(&ts->acc, &t, &ts->acc);
- if (timespeccmp(&t, &ts->min, <))
- ts->min = t;
- if (timespeccmp(&t, &ts->max, >))
- ts->max = t;
- ts->count++;
-
- *bt = now;
-}
-#endif
-
-static void
crypto_task_invoke(void *ctx, int pending)
{
struct cryptocap *cap;
@@ -1700,10 +1661,6 @@
KASSERT(crp->crp_session != NULL,
("%s: crp->crp_session == NULL", __func__));
-#ifdef CRYPTO_TIMING
- if (crypto_timing)
- crypto_tstat(&cryptostats.cs_invoke, &crp->crp_tstamp);
-#endif
if (cap->cc_flags & CRYPTOCAP_F_CLEANUP) {
struct crypto_session_params csp;
crypto_session_t nses;
@@ -1811,10 +1768,7 @@
crp->crp_flags |= CRYPTO_F_DONE;
if (crp->crp_etype != 0)
cryptostats.cs_errs++;
-#ifdef CRYPTO_TIMING
- if (crypto_timing)
- crypto_tstat(&cryptostats.cs_done, &crp->crp_tstamp);
-#endif
+
/*
* CBIMM means unconditionally do the callback immediately;
* CBIFSYNC means do the callback immediately only if the
@@ -1831,20 +1785,7 @@
* callback routine does very little (e.g. the
* /dev/crypto callback method just does a wakeup).
*/
-#ifdef CRYPTO_TIMING
- if (crypto_timing) {
- /*
- * NB: We must copy the timestamp before
- * doing the callback as the cryptop is
- * likely to be reclaimed.
- */
- struct bintime t = crp->crp_tstamp;
- crypto_tstat(&cryptostats.cs_cb, &t);
- crp->crp_callback(crp);
- crypto_tstat(&cryptostats.cs_finis, &t);
- } else
-#endif
- crp->crp_callback(crp);
+ crp->crp_callback(crp);
} else {
struct crypto_ret_worker *ret_worker;
bool wake;
@@ -2144,22 +2085,8 @@
/*
* Run callbacks unlocked.
*/
- if (crpt != NULL) {
-#ifdef CRYPTO_TIMING
- if (crypto_timing) {
- /*
- * NB: We must copy the timestamp before
- * doing the callback as the cryptop is
- * likely to be reclaimed.
- */
- struct bintime t = crpt->crp_tstamp;
- crypto_tstat(&cryptostats.cs_cb, &t);
- crpt->crp_callback(crpt);
- crypto_tstat(&cryptostats.cs_finis, &t);
- } else
-#endif
- crpt->crp_callback(crpt);
- }
+ if (crpt != NULL)
+ crpt->crp_callback(crpt);
if (krpt != NULL)
krpt->krp_callback(krpt);
CRYPTO_RETW_LOCK(ret_worker);
Index: head/sys/opencrypto/cryptodev.h
===================================================================
--- head/sys/opencrypto/cryptodev.h
+++ head/sys/opencrypto/cryptodev.h
@@ -326,13 +326,6 @@
#define CIOCFINDDEV _IOWR('c', 108, struct crypt_find_op)
#define CIOCCRYPTAEAD _IOWR('c', 109, struct crypt_aead)
-struct cryptotstat {
- struct timespec acc; /* total accumulated time */
- struct timespec min; /* min time */
- struct timespec max; /* max time */
- u_int32_t count; /* number of observations */
-};
-
struct cryptostats {
u_int32_t cs_ops; /* symmetric crypto ops submitted */
u_int32_t cs_errs; /* symmetric crypto ops that failed */
@@ -342,16 +335,6 @@
u_int32_t cs_rets; /* crypto return thread activations */
u_int32_t cs_blocks; /* symmetric op driver block */
u_int32_t cs_kblocks; /* symmetric op driver block */
- /*
- * When CRYPTO_TIMING is defined at compile time and the
- * sysctl debug.crypto is set to 1, the crypto system will
- * accumulate statistics about how long it takes to process
- * crypto requests at various points during processing.
- */
- struct cryptotstat cs_invoke; /* crypto_dipsatch -> crypto_invoke */
- struct cryptotstat cs_done; /* crypto_invoke -> crypto_done */
- struct cryptotstat cs_cb; /* crypto_done -> callback */
- struct cryptotstat cs_finis; /* callback -> callback return */
};
#ifdef _KERNEL
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Oct 1, 2:17 AM (21 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13221687
Default Alt Text
D25464.diff (4 KB)
Attached To
Mode
D25464: Remove CRYPTO_TIMING.
Attached
Detach File
Event Timeline
Log In to Comment