函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\select.c Create Date:2022-07-29 10:37:04
Last Modify:2020-03-18 10:25:38 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:do_poll

函数原型:static int do_poll(struct poll_list *list, struct poll_wqueues *wait, struct timespec64 *end_time)

返回类型:int

参数:

类型参数名称
struct poll_list *list
struct poll_wqueues *wait
struct timespec64 *end_time
874  pt等于pt
875  ktime_t expire, * to = NULL
876  timed_out等于0, count等于0
877  slack等于0
878  busy_flag等于如果net_busy_loop_on()则POLL_BUSY_LOOP否则0
879  busy_start等于0
882  如果end_time且非 seconds 且非 nanoseconds
883  _qproc = NULL
884  timed_out等于1
887  如果end_time且非timed_outslack等于select_estimate_accuracy(end_time)
890  循环
892  bool can_busy_loop = false
894 walk != NULL循环
897  pfd等于entries
898  pfd_end等于pfdlen
899 pfd不等于pfd_end循环
909  count自加
910  _qproc = NULL
912  busy_flag等于0
913  can_busy_loop = false
921  _qproc = NULL
922  如果非count
923  count等于error
927  如果counttimed_out退出
931  如果can_busy_loop且非need_resched()则
932  如果非busy_start
934  继续下一循环
936  如果非 poll/select we use the global sysctl_net_ll_poll value 则继续下一循环
939  busy_flag等于0
946  如果end_time且非to
948  to等于expire
951  如果非poll_schedule_timeout(wait, 睡眠态, to, slack)则timed_out等于1
954  返回:count
调用者
名称描述
do_sys_poll