函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\cpu\resctrl\rdtgroup.c Create Date:2022-07-27 09:11:00
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:rdtgroup_cpus_write

函数原型:static ssize_t rdtgroup_cpus_write(struct kernfs_open_file *of, char *buf, size_t nbytes, loff_t off)

返回类型:ssize_t

参数:

类型参数名称
struct kernfs_open_file *of
char *buf
size_tnbytes
loff_toff
448  如果非buf则返回:负EINVAL
451  如果非zalloc_cpumask_var( & tmpmask, GFP_KERNEL)则返回:负ENOMEM
453  如果非zalloc_cpumask_var( & newmask, GFP_KERNEL)则
454  释放CPU掩码
455  返回:负ENOMEM
457  如果非zalloc_cpumask_var( & tmpmask1, GFP_KERNEL)则
458  释放CPU掩码
459  释放CPU掩码
460  返回:负ENOMEM
463  rdtgrp等于rdtgroup_kn_lock_live( published fields )
464  如果非rdtgrp
465  ret等于负ENOENT
466  转到:unlock
469  如果mode恒等于RDT_MODE_PSEUDO_LOCKEDmode恒等于RDT_MODE_PSEUDO_LOCKSETUP
471  ret等于负EINVAL
472  rdt_last_cmd_puts("Pseudo-locking in progress\n")
473  转到:unlock
476  如果is_cpu_list(of)则ret等于从用户空间中提取CPU信息
478  否则ret等于从用户串中提取CPU信息
481  如果ret
482  rdt_last_cmd_puts("Bad CPU list/mask\n")
483  转到:unlock
487  pumask_andnot - *dstp = *src1p & ~*src2p*@dstp: the cpumask result*@src1p: the first input*@src2p: the second input* If *@dstp is empty, returns 0, else returns 1
488  如果pumask_weight - Count of bits in *srcp*@srcp: the cpumask to count bits (< nr_cpu_ids) in.
489  ret等于负EINVAL
490  rdt_last_cmd_puts("Can only assign online CPUs\n")
491  转到:unlock
494  如果type恒等于RDTCTRL_GROUPret等于cpus_ctrl_write(rdtgrp, newmask, tmpmask, tmpmask1)
496  否则如果type恒等于RDTMON_GROUPret等于cpus_mon_write(rdtgrp, newmask, tmpmask)
498  否则ret等于负EINVAL
501  unlock :
502  rdtgroup_kn_unlock( published fields )
503  释放CPU掩码
504  释放CPU掩码
505  释放CPU掩码
507  返回:如果ret否则nbytes