General Section

The general section of the configuration file contains general parameters and statistics parameters.

Note

Default denotes the value in the configuration file when shipped or the value used if not specified in the configuration file.

This table describes the other parameters that can be included in the General section.

General Section Parameters

Parameter

Description

Default

Range

ServicesEnabled

Defines the service(s) available (cryptographic [cy], symmetric [sym], asymmetric [asym], data compression [dc]).

Refer to ServicesEnabled for additional details.

<varies>

sym, asym, cy, dc

Note: Multiple values permitted, use; as the delimiter.

ServicesProfile

Specifies the services that are available when the driver loads.

Default

See ServicesProfile for additional details.

CyNumConcurrentSymRequests

Specifies the number of cryptographic concurrent symmetric requests for cryptographic instances in general.

Refer to Concurrent Requests for additional details.

512

64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, or 65536

CyNumConcurrentAsymRequests

Specifies the number of cryptographic concurrent asymmetric requests for cryptographic instances in general.

Refer to Concurrent Requests for additional details.

64

64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, or 65536

DcNumConcurrentRequests

Specifies the number of data compression concurrent requests for data compression instances in general.

Refer to Concurrent Requests for additional details.

512

64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, or 65536

DcIntermediateBufferSizeInKB

Specifies the size in KB of each intermediate buffer in on-chip memory for dynamic compression.

64

32 or 64

ServiceChainingEnabled

Flag enables dc chaining.

NOTE: ServicesEnabled must be set to dc.

0

0 or 1

HeartbeatTimer

Default heartbeat timer.

1000

> 200

AutoResetOnError

Automatically resets the device in case of fatal error or heartbeat failure.

0

0 or 1

PmIdleSupport

This flag is to enable power management idle support.

Refer to Power Management Parameters for additional details.

1

0 or 1

SVMEnabled

This flag is to enable SVM support.

Refer to Shared Virtual Memory Parameters for additional details.

0

0 or 1

ATEnabled

This flag is to enable Address Translation Service(ATS).

Refer to Shared Virtual Memory Parameters for additional details.

0

0 or 1

ServicesEnabled

Important

Enable only the services your workload requires. Enabling more services than needed partitions internal hardware resources and reduces the peak throughput available to each active service. This applies to all valid two-service combinations: sym;dc, asym;dc, and sym;asym.

Additional details on the ServicesEnabled parameter:

  • This parameter is valid for all QAT devices.

  • Default value varies depending on the underlying QAT Endpoint.

  • cy is not a valid value for QAT 2.0 devices; use asym and/or sym instead.

  • On QAT 2.0 endpoints, a maximum of two of the three services (asym, sym, and dc) may be enabled simultaneously.

Performance Considerations

Important

The following is applicable to QAT 2.0 devices only.

To maximize throughput for a given service, specify only that service in ServicesEnabled. By design, the QAT 2.0 device contains two Acceleration Engine clusters, each with four Acceleration Engines. Each cluster is limited to a single service, so the possible engine splits are 8|0 (single service) or 4|4 (two services).

When two services are enabled, the engine split is always 4|4 regardless of the actual workload mix. This means that enabling a second service will reduce throughput for the primary service even if the second service is idle.

Configuration examples:

  • ServicesEnabled = sym — all 8 acceleration engines are dedicated to SYM, providing all 4 resource providers per VF. This gives the best SYM throughput.

  • ServicesEnabled = sym;dc — 4 engines are dedicated to SYM and 4 to DC, providing only 2 resource providers per VF for SYM. Performance degradation for SYM should be expected, even if DC is never used.

  • The same 4|4 split applies to asym;dc and sym;asym combinations.

Note

Packet size will also modulate the impact of the above configuration settings.

ServicesProfile

Important

This parameter is valid for QAT1.7x devices.

The ServicesProfile parameter defines the services that are available when the driver loads. For example, if ServicesProfile = COMPRESSION is in the General section, the compression and decompression are available, along with service chaining, but not cryptography.

Note

When a ServicesProfiles parameter value is used that supports rate limiting is defined, internal resources are reallocated to administrating Rate Limiting/Device Utilization. This reduces performance by roughly 5%.

General Default Configuration Parameters

General Default Configuration Parameters

Service

DEFAULT

CRYPTO

COMPRESSION

CUSTOM1

Asymmetric Crypto

YES

YES

YES

Symmetric Crypto

YES

YES

YES

Hash

YES

YES

YES

YES

Cipher

YES

YES

YES

MGF KeyGen

YES

YES

SSL/TLS KeyGen

YES

YES

YES

HKDF

YES

YES

Compression

YES

YES

YES

Decompression (stateless)

YES

YES

YES

Decompression (stateful)

YES

YES

Service Chaining

YES

Device Utilization

YES

YES

YES

Rate Limiting

YES

YES

YES

Note

Set the service profile to determine available features.

Concurrent Requests

Additional details on the concurrent request parameters:

  • This parameter is valid for all QAT devices.

  • For each service enabled, NumConcurrentRequests must be set to value from the range.

  • The number of concurrent requests registered by the Intel® QuickAssist driver is set to NumConcurrentRequests - 2.

This implementation guarantees that the request ring will never be full and avoids the need for a Memory Mapped IO (MMIO) read. This implementation maximizes throughput performance.

Power Management Parameters

Important

This parameter is valid for QAT2.0 devices.

Power management configuration is included in the device configuration file (i.e. /etc/4xxx_devX.conf where X is the 0-based index of the device.)

Power management configurations parameters include:

  • PmIdleSupport - Configure the device to enable/disable power management idle supporting. Power management idle support is enabled by default.

Refer to the Power Management section for additional details.

Shared Virtual Memory (SVM) Parameters

Important

This parameter is valid for QAT2.0 devices.

SVM configuration parameters are included in the device configuration file (i.e. /etc/4xxx_devX.conf where X is the 0-based index of the device.)

SVMEnabled

When this flag is set in the driver configuration, it indicates that the guest virtual address (GVA) to host physical address (HPA) translation will use IOMMU hardware based translation table instead of using the software based address translation. With SVMEnabled set, it is not required to submit buffers that are physically contiguous.

Details

  • This parameter is disabled by default. Refer to SVM Kernel Requirements section for additional details.

  • The parameter is valid for both PF and VF configuration files.

  • It is possible for the VF to enable this parameter even if the parameter is disabled in the corresponding PF configuration file.

ATEnabled

When this flag is set in the driver configuration, the Address Translation Service (ATS) is enabled. IOMMU and QAT have the ability to handle page faults using Page Request Service (PRS) when using dynamic virtual memory allocated by systemcall such as malloc.

Details

  • This parameter is disabled by default. Refer to SVM Kernel Requirements section for additional details.

  • SVMEnabled must be enabled in order to enable ATEnabled.

  • The parameter is valid for both PF and VF configuration files.

  • It is not possible for the VF to enable the service if the parameter is disabled in the corresponding PF configuration file.