XTP_PREEMPTIVE_TASK

(Republishing, or using this info in a commercial product/website, is prohibited without permission. All other uses are permitted. If in doubt, please ask.)

(Back to main page…)

Description:

This wait type seems to be a generic wait for background worker threads involved in in-memory table processing. Note that this is a preemptive wait, so the thread continues executing on the processor until the work is complete.

(Books Online description: “Internal use only.”)

Questions/comments on this wait type? Click here to send Paul an email, especially if you have any information to add to this topic.

Added in SQL Server version:

2016

Removed in SQL Server version:

N/A

Extended Events wait_type value:

The map_key value in sys.dm_xe_map_values is 1065 in 2016 RTM. After 2016 RTM, you must check the DMV to get the latest value as some map_key values have changed in later builds.

Other information:

Anecdotal evidence suggests that this wait type may become a bottleneck when using the Telemetry Extended Events session.

Known occurrences in SQL Server (list number matches call stack list):

  1. An in-memory background worker thread ending a period of running in preemptive mode.

And other similar call stacks.

Abbreviated call stacks (list number matches known occurrences list):

  1. sqldk.dll!SOS_Task::PopWait+0x107
    sqlmin.dll!SOS_ExternalAutoWait::~SOS_ExternalAutoWait+0x5f
    sqlmin.dll!SOS_Task::AutoSwitchPreemptive::~AutoSwitchPreemptive+0x5c
    sqlmin.dll!HkHostThreadWrapper+0x2fc
    sqldk.dll!SOS_Task::Param::Execute+0x232
    sqldk.dll!SOS_Scheduler::RunTask+0xb5