Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\sched\membarrier.c Create Date:2022-07-28 09:45:37
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:sys_membarrier - issue memory barriers on a set of threads*@cmd: Takes command values defined in enum membarrier_cmd

Proto:SYSCALL_DEFINE2(membarrier, int, cmd, int, flags)

Type:

Parameter:Nothing

342  If Value for the false possibility is greater at compile time(flags) Then Return -EINVAL
345  Case cmd == MEMBARRIER_CMD_QUERY
347  cmd_mask = MEMBARRIER_CMD_BITMASK
349  If tick_nohz_full_enabled() Then cmd_mask &= ~MEMBARRIER_CMD_GLOBAL
351  Return cmd_mask
353  Case cmd == MEMBARRIER_CMD_GLOBAL
355  If tick_nohz_full_enabled() Then Return -EINVAL
357  If num_online_cpus() > 1 Then synchronize_rcu()
359  Return 0
360  Case cmd == MEMBARRIER_CMD_GLOBAL_EXPEDITED
361  Return membarrier_global_expedited()
362  Case cmd == MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
363  Return membarrier_register_global_expedited()
364  Case cmd == MEMBARRIER_CMD_PRIVATE_EXPEDITED
365  Return membarrier_private_expedited(0)
366  Case cmd == MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED
367  Return membarrier_register_private_expedited(0)
368  Case cmd == MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE
369  Return membarrier_private_expedited(MEMBARRIER_FLAG_SYNC_CORE)
370  Case cmd == MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE
371  Return membarrier_register_private_expedited(MEMBARRIER_FLAG_SYNC_CORE)
372  Default
373  Return -EINVAL