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

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 valid value for QAT2.0 devices. asym and sym are used.

  • Only two of the three services (asym, sym, and dc) may be enabled on an individual QAT2.0 Endpoints.

Performance Considerations

Important

The following is applicable to QAT2.0 devices only.

In order to maximize QAT throughput performance for a given service type, one should specify ONLY that service type parameter for ServicesEnabled.

By design, two Acceleration Engine clusters are available, each containing four Acceleration Engines. Each of these two clusters are limited to using a single service. Therefore, the possible split options are 4|4 or 8 for a given service type.

Configuration examples:

  • While using VFs on a system configured for ServicesEnabled = sym;dc , 4 acceleration engines will be dedicated to SYM and 4 acceleration engines will be dedicated to DC, so only 2 resource providers per child VF can be used for SYM. Here, we should expect some performance degradation for SYM (even if DC is not used).

  • While using VFs on a system configured for ServicesEnabled = sym , all 8 acceleration engines will be dedicated to SYM, so all 4 resource providers of a child VF can be used for SYM only. Here, we will see the best SYM performance.

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.

  • The concurrent request parameters include both Transmit (Tx) and Receive (Rx) requests.

  • 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.