TaskQueues ====================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Version Info ` * :ref:`TaskQueues ` .. _FreebsdDeviceDriver_wireless_fdd_wi-fi_chipset_wi-fi_contexts_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow * TaskQueues .. _FreebsdDeviceDriver_wireless_fdd_wi-fi_chipset_wi-fi_contexts_step3: .. tab-set:: .. tab-item:: Version Info =============================== ======================================= # Version =============================== ======================================= Freebsd 14.1.0 wpa_supplicant 2.10 =============================== ======================================= .. _FreebsdDeviceDriver_wireless_fdd_wi-fi_chipset_wi-fi_contexts_step40: .. tab-set:: .. tab-item:: TaskQueues .. tab-set:: .. tab-item:: wlan : Taskqueue .. code-block:: shell test:~$ grep -rh "taskqueue_create" ./ | sed 's/^[ \t]*//' | sort | uniq ic->ic_tq = taskqueue_create("ic_taskq", IEEE80211_M_WAITOK | IEEE80211_M_ZERO, taskqueue_thread_enqueue, &ic->ic_tq); taskqueue_start_threads(&ic->ic_tq, 1, PI_NET, "%s net80211 taskq", ic->ic_name); .. code-block:: shell test:~$ grep -rh " TASK_INIT " ./ | sed 's/^[ \t]*//' | sort | uniq TASK_INIT(&ic->ic_bmiss_task, 0, beacon_miss, ic); TASK_INIT(&ic->ic_chan_task, 0, update_channel, ic); TASK_INIT(&ic->ic_chw_task, 0, update_chw, ic); TASK_INIT(&ic->ic_mcast_task, 0, update_mcast, ic); TASK_INIT(&ic->ic_parent_task, 0, parent_updown, ic); TASK_INIT(&ic->ic_promisc_task, 0, update_promisc, ic); TASK_INIT(&ic->ic_restart_task, 0, restart_vaps, ic); TASK_INIT(&ss->ss_scan_start, 0, scan_start, ss); TASK_INIT(&vap->iv_erp_protmode_task, 0, vap_update_erp_protmode, vap); TASK_INIT(&vap->iv_ht_protmode_task, 0, vap_update_ht_protmode, vap); TASK_INIT(&vap->iv_nstate_task[i], 0, ieee80211_newstate_cb, vap); TASK_INIT(&vap->iv_preamble_task, 0, vap_update_preamble, vap); TASK_INIT(&vap->iv_slot_task, 0, vap_update_slot, vap); TASK_INIT(&vap->iv_swbmiss_task, 0, beacon_swmiss, vap); TASK_INIT(&vap->iv_wme_task, 0, vap_update_wme, vap);