• Comments
  • looking for a summary of what are different kernel threads

    Posted on

    Hi everyone,

    has anyone come upon a good summary of what different kernel threads are? aoi, events, fc_dl_1, ib_addr, ib_cm, iw_cm_wc, kblockd, khelper, kthread, local_sa, migration, kjournald, watchdog, etc. It would be handy to have them described in one document - at least the most common kernel threads.

     

    Kernel threads are marked in the ps output with square brackets. An example of output from a RHEL5 system:

     

    [root@coke ~]# ps aux|grep ]
    root         1  0.0  0.0  10368   760 ?        Ss   10:44   0:03 init [3]                               
    root         2  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/0]
    root         3  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/0]
    root         4  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/0]
    root         5  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/1]
    root         6  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/1]
    root         7  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/1]
    root         8  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/2]
    root         9  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/2]
    root        10  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/2]
    root        11  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/3]
    root        12  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/3]
    root        13  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/3]
    root        14  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/4]
    root        15  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/4]
    root        16  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/4]
    root        17  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/5]
    root        18  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/5]
    root        19  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/5]
    root        20  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/6]
    root        21  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/6]
    root        22  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/6]
    root        23  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/7]
    root        24  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/7]
    root        25  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/7]
    root        26  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/8]
    root        27  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/8]
    root        28  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/8]
    root        29  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/9]
    root        30  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/9]
    root        31  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/9]
    root        32  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/10]
    root        33  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/10]
    root        34  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/10]
    root        35  0.0  0.0      0     0 ?        S   10:44   0:00 [migration/11]
    root        36  0.0  0.0      0     0 ?        SN   10:44   0:00 [ksoftirqd/11]
    root        37  0.0  0.0      0     0 ?        S   10:44   0:00 [watchdog/11]
    root        38  0.0  0.0      0     0 ?        S   10:44   0:00 [events/0]
    root        39  0.0  0.0      0     0 ?        S   10:44   0:00 [events/1]
    root        40  0.0  0.0      0     0 ?        S   10:44   0:00 [events/2]
    root        41  0.0  0.0      0     0 ?        S   10:44   0:00 [events/3]
    root        42  0.0  0.0      0     0 ?        S   10:44   0:00 [events/4]
    root        43  0.0  0.0      0     0 ?        S   10:44   0:00 [events/5]
    root        44  0.0  0.0      0     0 ?        S   10:44   0:00 [events/6]
    root        45  0.0  0.0      0     0 ?        S   10:44   0:00 [events/7]
    root        46  0.0  0.0      0     0 ?        S   10:44   0:00 [events/8]
    root        47  0.0  0.0      0     0 ?        S   10:44   0:00 [events/9]
    root        48  0.0  0.0      0     0 ?        S   10:44   0:00 [events/10]
    root        49  0.0  0.0      0     0 ?        S   10:44   0:00 [events/11]
    root        50  0.0  0.0      0     0 ?        S   10:44   0:00 [khelper]
    root       313  0.0  0.0      0     0 ?        S   10:44   0:00 [kthread]
    root       329  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/0]
    root       330  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/1]
    root       331  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/2]
    root       332  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/3]
    root       333  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/4]
    root       334  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/5]
    root       335  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/6]
    root       336  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/7]
    root       337  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/8]
    root       338  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/9]
    root       339  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/10]
    root       340  0.0  0.0      0     0 ?        S   10:44   0:00 [kblockd/11]
    root       341  0.0  0.0      0     0 ?        S   10:44   0:00 [kacpid]
    root       509  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/0]
    root       510  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/1]
    root       511  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/2]
    root       512  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/3]
    root       513  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/4]
    root       514  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/5]
    root       515  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/6]
    root       516  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/7]
    root       517  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/8]
    root       518  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/9]
    root       519  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/10]
    root       520  0.0  0.0      0     0 ?        S   10:44   0:00 [cqueue/11]
    root       523  0.0  0.0      0     0 ?        S   10:44   0:00 [khubd]
    root       525  0.0  0.0      0     0 ?        S   10:44   0:00 [kseriod]
    root       684  0.0  0.0      0     0 ?        S    10:44   0:00 [khungtaskd]
    root       685  0.0  0.0      0     0 ?        S    10:44   0:00 [pdflush]
    root       686  0.2  0.0      0     0 ?        S    10:44   0:14 [pdflush]
    root       687  0.0  0.0      0     0 ?        S   10:44   0:00 [kswapd0]
    root       688  0.0  0.0      0     0 ?        S   10:44   0:00 [kswapd1]
    root       689  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/0]
    root       690  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/1]
    root       691  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/2]
    root       692  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/3]
    root       693  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/4]
    root       694  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/5]
    root       695  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/6]
    root       696  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/7]
    root       697  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/8]
    root       698  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/9]
    root       699  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/10]
    root       700  0.0  0.0      0     0 ?        S   10:44   0:00 [aio/11]
    root       855  0.0  0.0      0     0 ?        S   10:44   0:00 [kpsmoused]
    root       990  0.0  0.0      0     0 ?        S   10:44   0:00 [scsi_eh_0]
    root       991  0.0  0.0      0     0 ?        S   10:44   0:00 [qla2xxx_0_dpc]
    root       992  0.0  0.0      0     0 ?        S   10:44   0:00 [scsi_wq_0]
    root       993  0.0  0.0      0     0 ?        S   10:44   0:00 [fc_wq_0]
    root       994  0.0  0.0      0     0 ?        S   10:44   0:00 [fc_dl_0]
    root       995  0.0  0.0      0     0 ?        S   10:44   0:00 [scsi_eh_1]
    root       996  0.0  0.0      0     0 ?        S   10:44   0:00 [qla2xxx_1_dpc]
    root       997  0.0  0.0      0     0 ?        S   10:44   0:00 [scsi_wq_1]
    root       998  0.0  0.0      0     0 ?        S   10:44   0:00 [fc_wq_1]
    root       999  0.0  0.0      0     0 ?        S   10:44   0:00 [fc_dl_1]
    root      1026  0.0  0.0      0     0 ?        S   10:44   0:00 [kstriped]
    root      1079  0.0  0.0      0     0 ?        S   10:44   0:00 [ksnapd]
    root      1134  0.0  0.0      0     0 ?        S   10:44   0:05 [kjournald]
    root      1159  0.0  0.0      0     0 ?        S   10:44   0:00 [kauditd]
    root      1995  0.0  0.0      0     0 ?        S   10:44   0:00 [kedac]
    root      2826  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/0]
    root      2827  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/1]
    root      2828  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/2]
    root      2829  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/3]
    root      2830  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/4]
    root      2831  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/5]
    root      2832  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/6]
    root      2833  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/7]
    root      2834  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/8]
    root      2835  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/9]
    root      2836  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/10]
    root      2837  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpathd/11]
    root      2838  0.0  0.0      0     0 ?        S   10:44   0:00 [kmpath_handlerd]
    root      2916  0.3  0.0      0     0 ?        S   10:44   0:20 [kjournald]
    root      2919  0.0  0.0      0     0 ?        S   10:44   0:00 [kjournald]
    root      3044  0.0  0.0      0     0 ?        S   10:44   0:00 [iscsi_eh]
    root      3193  0.0  0.0      0     0 ?        S   10:45   0:00 [cnic_wq]
    root      3251  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_addr]
    root      3296  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_mcast]
    root      3298  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_inform]
    root      3299  0.0  0.0      0     0 ?        S   10:45   0:00 [local_sa]
    root      3313  0.0  0.0      0     0 ?        S   10:45   0:00 [iw_cm_wq]
    root      3327  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/0]
    root      3329  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/1]
    root      3330  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/2]
    root      3331  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/3]
    root      3332  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/4]
    root      3333  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/5]
    root      3334  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/6]
    root      3335  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/7]
    root      3336  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/8]
    root      3337  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/9]
    root      3338  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/10]
    root      3339  0.0  0.0      0     0 ?        S   10:45   0:00 [ib_cm/11]
    root      3352  0.0  0.0      0     0 ?        S   10:45   0:00 [rdma_cm]
    root      3563  0.0  0.0      0     0 ?        S   10:45   0:00 [bond0]
    root      3975  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/0]
    root      3976  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/1]
    root      3977  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/2]
    root      3978  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/3]
    root      3979  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/4]
    root      3980  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/5]
    root      3981  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/6]
    root      3982  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/7]
    root      3983  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/8]
    root      3984  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/9]
    root      3985  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/10]
    root      3986  0.0  0.0      0     0 ?        S   10:45   0:00 [rpciod/11]
    root      4349  0.0  0.0 110968  6620 ?        Ss   11:03   0:00 sshd: guzenkovs [priv]
    root      4933  0.0  0.0      0     0 ?        SN   10:45   0:00 [kipmi0]
    avahi     7932  0.0  0.0  21628  1312 ?        Ss   10:46   0:00 avahi-daemon: running [monitor02.local]
    root      8361  0.0  0.0 110376  6608 ?        Ss   10:46   0:00 sshd: guzenkovs [priv]
    root      9321  0.0  0.0 110376  6596 ?        Ss   10:46   0:00 sshd: guzenkovs [priv]
    root      9472  0.0  0.0 110376  6592 ?        Ss   10:46   0:00 sshd: guzenkovs [priv]
    root     10294  0.0  0.0 110376  6608 ?        Ss   10:47   0:00 sshd: guzenkovs [priv]
    root     19592  0.0  0.0  61204   828 pts/3    S+   12:21   0:00 grep ]
    
    
    [root@coke ~]# ps aux | grep ] | awk -F[ '{print $2}' | awk -F/ '{print $1}' |awk -F] '{print $1}'| sort| uniq
    
    3
    aio
    bond0
    cnic_wq
    cqueue
    events
    fc_dl_0
    fc_dl_1
    fc_wq_0
    fc_wq_1
    ib_addr
    ib_cm
    ib_inform
    ib_mcast
    iscsi_eh
    iw_cm_wq
    kacpid
    kauditd
    kblockd
    kedac
    khelper
    khubd
    khungtaskd
    kipmi0
    kjournald
    kmpathd
    kmpath_handlerd
    kpsmoused
    kseriod
    ksnapd
    ksoftirqd
    kstriped
    kswapd0
    kswapd1
    kthread
    local_sa
    migration
    monitor02.local
    pdflush
    priv
    qla2xxx_0_dpc
    qla2xxx_1_dpc
    rdma_cm
    rpciod
    scsi_eh_0
    scsi_eh_1
    scsi_wq_0
    scsi_wq_1
    watchdog
    

     

     

    Another question is on naming convention for multiple threads of the same name. In the output above I can see three different naming conventions:

    1) _0, _1, ... e.g. [scsi_wq_0], [scsi_wq_1]

    2) /1, /2, ... e.g. [aio/0], [aio/1]

    3) 1, 2, ... e.g. [kswapd0], [kswapd1] --note that there is only one swap disk on that system.

    Is there any semantic difference between them?

    by

    points

    Responses

    Red Hat
    © 2025 Red Hat, Inc.