The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/qat/qat_api/common/crypto/sym/lac_sym_stats.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* SPDX-License-Identifier: BSD-3-Clause */
    2 /* Copyright(c) 2007-2022 Intel Corporation */
    3 /* $FreeBSD$ */
    4 
    5 /**
    6  ***************************************************************************
    7  * @file lac_sym_stats.c   Implementation of symmetric stats
    8  *
    9  * @ingroup LacSym
   10  *
   11  ***************************************************************************/
   12 
   13 /*
   14 *******************************************************************************
   15 * Include public/global header files
   16 *******************************************************************************
   17 */
   18 #include "cpa.h"
   19 #include "cpa_cy_sym.h"
   20 
   21 /*
   22 *******************************************************************************
   23 * Include private header files
   24 *******************************************************************************
   25 */
   26 #include "lac_mem_pools.h"
   27 #include "icp_adf_transport.h"
   28 #include "icp_accel_devices.h"
   29 #include "icp_adf_debug.h"
   30 #include "icp_qat_fw_la.h"
   31 #include "lac_sym_qat.h"
   32 #include "lac_sym_stats.h"
   33 #include "lac_sal_types_crypto.h"
   34 #include "sal_statistics.h"
   35 
   36 /* Number of Symmetric Crypto statistics */
   37 #define LAC_SYM_NUM_STATS (sizeof(CpaCySymStats64) / sizeof(Cpa64U))
   38 
   39 CpaStatus
   40 LacSym_StatsInit(CpaInstanceHandle instanceHandle)
   41 {
   42         CpaStatus status = CPA_STATUS_SUCCESS;
   43         sal_crypto_service_t *pService = (sal_crypto_service_t *)instanceHandle;
   44 
   45         pService->pLacSymStatsArr =
   46             LAC_OS_MALLOC(LAC_SYM_NUM_STATS * sizeof(QatUtilsAtomic));
   47 
   48         if (NULL != pService->pLacSymStatsArr) {
   49                 LAC_OS_BZERO((void *)LAC_CONST_VOLATILE_PTR_CAST(
   50                                  pService->pLacSymStatsArr),
   51                              LAC_SYM_NUM_STATS * sizeof(QatUtilsAtomic));
   52         } else {
   53                 status = CPA_STATUS_RESOURCE;
   54         }
   55         return status;
   56 }
   57 
   58 void
   59 LacSym_StatsFree(CpaInstanceHandle instanceHandle)
   60 {
   61         sal_crypto_service_t *pService = (sal_crypto_service_t *)instanceHandle;
   62         if (NULL != pService->pLacSymStatsArr) {
   63                 LAC_OS_FREE(pService->pLacSymStatsArr);
   64         }
   65 }
   66 
   67 void
   68 LacSym_StatsInc(Cpa32U offset, CpaInstanceHandle instanceHandle)
   69 {
   70         sal_crypto_service_t *pService = (sal_crypto_service_t *)instanceHandle;
   71         if (CPA_TRUE ==
   72             pService->generic_service_info.stats->bSymStatsEnabled) {
   73                 qatUtilsAtomicInc(
   74                     &pService->pLacSymStatsArr[offset / sizeof(Cpa64U)]);
   75         }
   76 }
   77 
   78 void
   79 LacSym_Stats32CopyGet(CpaInstanceHandle instanceHandle,
   80                       struct _CpaCySymStats *const pSymStats)
   81 {
   82         int i = 0;
   83         sal_crypto_service_t *pService = (sal_crypto_service_t *)instanceHandle;
   84 
   85         for (i = 0; i < LAC_SYM_NUM_STATS; i++) {
   86                 ((Cpa32U *)pSymStats)[i] =
   87                     (Cpa32U)qatUtilsAtomicGet(&pService->pLacSymStatsArr[i]);
   88         }
   89 }
   90 
   91 void
   92 LacSym_Stats64CopyGet(CpaInstanceHandle instanceHandle,
   93                       CpaCySymStats64 *const pSymStats)
   94 {
   95         int i = 0;
   96         sal_crypto_service_t *pService = (sal_crypto_service_t *)instanceHandle;
   97 
   98         for (i = 0; i < LAC_SYM_NUM_STATS; i++) {
   99                 ((Cpa64U *)pSymStats)[i] =
  100                     qatUtilsAtomicGet(&pService->pLacSymStatsArr[i]);
  101         }
  102 }
  103 
  104 void
  105 LacSym_StatsShow(CpaInstanceHandle instanceHandle)
  106 {
  107         CpaCySymStats64 symStats = { 0 };
  108 
  109         LacSym_Stats64CopyGet(instanceHandle, &symStats);
  110 
  111         QAT_UTILS_LOG(SEPARATOR BORDER
  112                       "              Symmetric Stats               " BORDER
  113                       "\n" SEPARATOR);
  114 
  115         /* Session Info */
  116         QAT_UTILS_LOG(BORDER " Sessions Initialized:           %16llu " BORDER
  117                              "\n" BORDER
  118                              " Sessions Removed:               %16llu " BORDER
  119                              "\n" BORDER
  120                              " Session Errors:                 %16llu " BORDER
  121                              "\n" SEPARATOR,
  122                       (unsigned long long)symStats.numSessionsInitialized,
  123                       (unsigned long long)symStats.numSessionsRemoved,
  124                       (unsigned long long)symStats.numSessionErrors);
  125 
  126         /* Session info */
  127         QAT_UTILS_LOG(
  128             BORDER " Symmetric Requests:             %16llu " BORDER "\n" BORDER
  129                    " Symmetric Request Errors:       %16llu " BORDER "\n" BORDER
  130                    " Symmetric Completed:            %16llu " BORDER "\n" BORDER
  131                    " Symmetric Completed Errors:     %16llu " BORDER "\n" BORDER
  132                    " Symmetric Verify Failures:      %16llu " BORDER
  133                    "\n" SEPARATOR,
  134             (unsigned long long)symStats.numSymOpRequests,
  135             (unsigned long long)symStats.numSymOpRequestErrors,
  136             (unsigned long long)symStats.numSymOpCompleted,
  137             (unsigned long long)symStats.numSymOpCompletedErrors,
  138             (unsigned long long)symStats.numSymOpVerifyFailures);
  139 }

Cache object: d3ec7f1fa3b7d6c7f1f74e7def060c84


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.