If you like BoxMatrix then please contribute Supportdata, Supportdata2, Firmware and/or Hardware (get in touch).
My metamonk@yahoo.com is not reachable by me since years. Please use hippie2000@webnmail.de instead.

0
U

Property:eid bcm kthreads.txt

From BoxMatrix


BoxMatrix >> Configuration >> eid_bcm_kthreads.txt @ BoxMatrix   -   IRC-Chat   -   Translate: de es fr it nl pl
News Selectors Models Accessories Components Environment Config Commands System Webif Software Develop Lexicon Community Project Media

Static-Config Bin-Files Audio-Files Crypto-Files Vartar-Items TFFS-Config Temp-Files Data-Dirs Inet-Providers VoIP-Providers Firmware Research

Static-Configuration

Goto:   Dependencies   -   Model-Matrix   -   SMW-Browser

Details

eid_bcm_kthreads.txt is the entity definition file for Broadcom kernel threads.
Unlike other entity files all eids are numerical and define CPU scheduling of each kthread.

It is interpreted by libcms_util.so for the Broadcom system daemon smd.

Each entry is encapsulated in a BEGIN / END clause and my contain:

  • eid - the Entity ID, an enum defined in cms_eid.h
  • name - the name of an executable to launch unless path or altPath are specified
  • runArgs - optional commandline arguments to pass
  • flags - property flags also defined in cms_eid.h

The flags may define an automatical launch of the respective executable:

  • EIF_LAUNCH_IN_STAGE_1 - launch during stage 1 of CMS startup
  • EIF_LAUNCH_ON_BOOT - launch on system boot (during stage 2)

Executables which are EIF_MESSAGING_CAPABLE connect smd through the smd_messaging_server_addr socket.

Full quote 7581 fw 7.17:

#
# The entities listed in this file are kernel threads.
# Kernel threads should use EID 4000-4999 (see cms_eid.h)
# This range is further subdivided:
# -- Linux kernel threads: 4000-4399
# -- Broadcom kernel threads: 4400-4699
# -- Customer kernel threads: 4700-4999
#

BEGIN
  eid          = 4001
  name         = init
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4002
  name         = kthreadd
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

# The linux kernel configures migration at 99/FIFO, but it should be ok
# to keep it in the rt/data group
BEGIN
  eid          = 4003
  name         = migration/0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4004
  name         = migration/1
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4005
  name         = ksoftirqd/0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4006
  name         = ksoftirqd/1
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

# kworkers run functions queued to the Linux workqueue
# The number of kworkers is dynamic, so let them have EID 4010-4029
BEGIN
  eid          = 4010
  name         = kworker/0:0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4011
  name         = kworker/0:1
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4012
  name         = kworker/u:0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4013
  name         = kworker/1:0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4014
  name         = kworker/1:1
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4015
  name         = kworker/u:1
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4016
  name         = deferwq
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4030
  name         = khelper
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

# filesystem related threads can use 4031-4049
BEGIN
  eid          = 4031
  name         = sync_supers
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4032
  name         = bdi-default
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4033
  name         = kblockd
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4034
  name         = kswapd0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4035
  name         = fsnotify_mark
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END


# mtdblockd runs at 5/RR because high prio threads might page fault.
# It would be better if the high prio threads can lock their pages in memory.
# the sched priority is set in kernel/drivers/mtd/mtd_blkdevs.c, so don't do
# it here. 
BEGIN
  eid          = 4040
  name         = mtdblock0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4041
  name         = mtdblock1
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4042
  name         = mtdblock2
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4043
  name         = mtdblock3
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

# USB related threads can use 4050-4059
# USB workqueue thread (see drivers/usb/core/hub.c)
# Could also bind this thread to a CPU with EIF_SET_CPUMASK and
# cpuMask = 0x1
# Note: usb-storage & scsi-eh threads priroty is set to RR in kernel
# as they are created only when USB device is plugged in
BEGIN
  eid          = 4050
  name         = khubd
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/media
END

BEGIN
  eid          = 4060
  name         = crypto
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4061
  name         = linkwatch
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

# Broadcom Buffer Pool Manager thread
BEGIN
  eid          = 4400
  name         = bpm
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_HIGH
  cpuGroupName = rt/high
END

# Broadcom FAP keep alive watchdog (should it run at high prio?)
BEGIN
  eid          = 4401
  name         = kpAliveWatchdog
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END
# Broadcom FAP GSO LOOPBACK thread 
BEGIN
  eid          = 4402
  name         = fapGsoLoopBk
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/data
END

# Broadcom dedicated skb freeing thread
BEGIN
  eid          = 4405
  name         = skbFreeTask
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

# Broadcom Automatic Voltage Scaling(?) kernel thread
BEGIN
  eid          = 4410
  name         = Avs65_Task
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4420
  name         = dsl0
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

# next 3 are threads created by broadcom bcmenet driver
BEGIN
  eid          = 4430
  name         = bcmsw
  flags        = EIF_SET_CGROUPS
  cpuGroupName = normal/default
END

BEGIN
  eid          = 4431
  name         = bcmsw_timer
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/data
END

# bcmsw_rx will be bound to the same core as thatof Xtm for now.
BEGIN
  eid          = 4432
  name         = bcmsw_rx
  flags        = EIF_SET_SCHED | EIF_SET_CPUMASK | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuMask      = 0x1
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4433
  name         = wfd
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/data
END

#bcm2189x_rx is created by broadcom LTE pcie driver
BEGIN
  eid          = 4434
  name         = bcm2189x_rx
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4435
  name         = bcm_tm_thread
  flags        = EIF_SET_SCHED | EIF_SET_CPUMASK | EIF_SET_CGROUPS
  schedPolicy  = SCHED_FIFO
  schedPriority= 99
  cpuMask      = 0x2
  cpuGroupName = rt/data
END

# pdc_rx is bound to the same core as bcmsw_rx as this gives
# the best throughput performance when blog is enabled, which is
# the default.
BEGIN
  eid          = 4436
  name         = pdc_rx
  flags        = EIF_SET_SCHED | EIF_SET_CPUMASK | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuMask      = 0x1
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4437
  name         = spu_rx
  flags        = EIF_SET_SCHED | EIF_SET_CPUMASK | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuMask      = 0x1
  cpuGroupName = rt/data
END

# wlan processing threads
# wl0 is typically the built in wifi, used for data
BEGIN
  eid          = 4440
  name         = wl0-kthrd
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/wifi-data
END

# wl1 is typically the high performance wifi, used for video
BEGIN
  eid          = 4441
  name         = wl1-kthrd
  flags        = EIF_SET_CGROUPS
  cpuGroupName = rt/wifi-video
END

# Xtm will be bound to the same core as thatof bcmsw_rx for now.
BEGIN
  eid          = 4442
  name         = bcmxtm_rx
  flags        = EIF_SET_SCHED | EIF_SET_CPUMASK | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuMask      = 0x1
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4443
  name         = bcm_dhd_rxpost
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4444
  name         = recycle_sysb
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/data
END

BEGIN
  eid          = 4445
  name         = feed_sysb
  flags        = EIF_SET_SCHED | EIF_SET_CGROUPS
  schedPolicy  = SCHED_RR
  schedPriority= BCM_RTPRIO_DATA
  cpuGroupName = rt/data
END  

Dependencies

Daily updated index of all dependencies of this file. Last update: 2024-04-24 06:37 GMT.
A * in the Mod column marks info from Supportdata-Probes, which will always stay incomplete.

Relation Typ Object Mod Firmware Info Origin
0 dependencies for this file

Model-Matrix

Daily updated index of the presence, path and size of this file for each model. Last update: 2024-04-24 05:47 GMT.
Showing all models using this file. Click any column header (click-wait-click) to sort the list by the respective data.
The (main/scrpn/boot/arm/prx/atom) label in the Model column shows which CPU is meant for models with multiple Linux instances.
Note that this list is merged from Firmware-Probes of all known AVM firmware for a model, including Recovery.exe and Labor-Files.

Model Firmw Path Size
FRITZ!Box 7530 AX 7.20 - 7.31 /etc/cms_entity_info.d 8.9k - 9.2k
FRITZ!Box 7581 6.54 - 7.16 /etc/cms_entity_info.d 6.9k - 8.4k
FRITZ!Box 7582 6.83 - 7.17 /etc/cms_entity_info.d 6.9k - 8.4k
3 models use this file

SMW-Browser

Information is currently being retrieved from the backend.