linux 同步IO: sync、fsync, O_SYNC

本文纠正了关于Linux同步IO中sync函数的常见误解,指出sync不仅将修改过的块缓冲区排入写队列,而且会等待实际写入磁盘操作完成再返回,确保数据安全保存。同时,对比了fsync函数的作用,它只对指定文件进行同步操作,并等待写操作结束。最后提到了O_SYNC打开文件时的效果,与fsync类似,每次write都会阻塞直到硬盘IO完成。

sync和fsync baidu一下,有大量文章说明其作用。

下面举一个来自csdn的blog文章:

http://blog.youkuaiyun.com/cywosp/article/details/8767327


其中说明如下:

sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。
fsync函数只对由文件描述符filedes指定的单一文件起作用,并且等待写磁盘操作结束,然后返回。

PS:open时的参数O_SYNC有着和fsync类似的语义:使每次write都会阻塞等待硬盘IO完成。


其中 大部分网络文章对sync的说明,都说是仅将块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。

 即,sync并非同步操作,而是异步的。也就是无法保证sync成功后,内容不一定保存到物理存储介质了!!!


通过仔细分析sync函数,发现实际上大部分人理解是错误的,sync函数是会等待实际写结束,然后才返回的。

请看下面sync函数的流程图:







syscalls:sys_enter_getresuid [Tracepoint event] syscalls:sys_enter_getrlimit [Tracepoint event] syscalls:sys_enter_getrusage [Tracepoint event] syscalls:sys_enter_getsid [Tracepoint event] syscalls:sys_enter_getsockname [Tracepoint event] syscalls:sys_enter_getsockopt [Tracepoint event] syscalls:sys_enter_gettid [Tracepoint event] syscalls:sys_enter_gettimeofday [Tracepoint event] syscalls:sys_enter_getuid [Tracepoint event] syscalls:sys_enter_getxattr [Tracepoint event] syscalls:sys_enter_init_module [Tracepoint event] syscalls:sys_enter_inotify_add_watch [Tracepoint event] syscalls:sys_enter_inotify_init [Tracepoint event] syscalls:sys_enter_inotify_init1 [Tracepoint event] syscalls:sys_enter_inotify_rm_watch [Tracepoint event] syscalls:sys_enter_io_cancel [Tracepoint event] syscalls:sys_enter_io_destroy [Tracepoint event] syscalls:sys_enter_io_getevents [Tracepoint event] syscalls:sys_enter_io_pgetevents [Tracepoint event] syscalls:sys_enter_io_setup [Tracepoint event] syscalls:sys_enter_io_submit [Tracepoint event] syscalls:sys_enter_ioctl [Tracepoint event] syscalls:sys_enter_ioperm [Tracepoint event] syscalls:sys_enter_iopl [Tracepoint event] syscalls:sys_enter_ioprio_get [Tracepoint event] syscalls:sys_enter_ioprio_set [Tracepoint event] syscalls:sys_enter_kcmp [Tracepoint event] syscalls:sys_enter_kexec_file_load [Tracepoint event] syscalls:sys_enter_kexec_load [Tracepoint event] syscalls:sys_enter_keyctl [Tracepoint event] syscalls:sys_enter_kill [Tracepoint event] syscalls:sys_enter_lchown [Tracepoint event] syscalls:sys_enter_lgetxattr [Tracepoint event] syscalls:sys_enter_link [Tracepoint event] syscalls:sys_enter_linkat [Tracepoint event] syscalls:sys_enter_listen [Tracepoint event] syscalls:sys_enter_listxattr [Tracepoint event] syscalls:sys_enter_llistxattr [Tracepoint event] syscalls:sys_enter_lookup_dcookie [Tracepoint event] syscalls:sys_enter_lremovexattr [Tracepoint event] syscalls:sys_enter_lseek [Tracepoint event] syscalls:sys_enter_lsetxattr [Tracepoint event] syscalls:sys_enter_madvise [Tracepoint event] syscalls:sys_enter_mbind [Tracepoint event] syscalls:sys_enter_membarrier [Tracepoint event] syscalls:sys_enter_memfd_create [Tracepoint event] syscalls:sys_enter_migrate_pages [Tracepoint event] syscalls:sys_enter_mincore [Tracepoint event] syscalls:sys_enter_mkdir [Tracepoint event] syscalls:sys_enter_mkdirat [Tracepoint event] syscalls:sys_enter_mknod [Tracepoint event] syscalls:sys_enter_mknodat [Tracepoint event] syscalls:sys_enter_mlock [Tracepoint event] syscalls:sys_enter_mlock2 [Tracepoint event] syscalls:sys_enter_mlockall [Tracepoint event] syscalls:sys_enter_mmap [Tracepoint event] syscalls:sys_enter_modify_ldt [Tracepoint event] syscalls:sys_enter_mount [Tracepoint event] syscalls:sys_enter_move_pages [Tracepoint event] syscalls:sys_enter_mprotect [Tracepoint event] syscalls:sys_enter_mq_getsetattr [Tracepoint event] syscalls:sys_enter_mq_notify [Tracepoint event] syscalls:sys_enter_mq_open [Tracepoint event] syscalls:sys_enter_mq_timedreceive [Tracepoint event] syscalls:sys_enter_mq_timedsend [Tracepoint event] syscalls:sys_enter_mq_unlink [Tracepoint event] syscalls:sys_enter_mremap [Tracepoint event] syscalls:sys_enter_msgctl [Tracepoint event] syscalls:sys_enter_msgget [Tracepoint event] syscalls:sys_enter_msgrcv [Tracepoint event] syscalls:sys_enter_msgsnd [Tracepoint event] syscalls:sys_enter_msync [Tracepoint event] syscalls:sys_enter_munlock [Tracepoint event] syscalls:sys_enter_munlockall [Tracepoint event] syscalls:sys_enter_munmap [Tracepoint event] syscalls:sys_enter_name_to_handle_at [Tracepoint event] syscalls:sys_enter_nanosleep [Tracepoint event] syscalls:sys_enter_newfstat [Tracepoint event] syscalls:sys_enter_newfstatat [Tracepoint event] syscalls:sys_enter_newlstat [Tracepoint event] syscalls:sys_enter_newstat [Tracepoint event] syscalls:sys_enter_newuname [Tracepoint event] syscalls:sys_enter_open [Tracepoint event] syscalls:sys_enter_open_by_handle_at [Tracepoint event] syscalls:sys_enter_openat [Tracepoint event] syscalls:sys_enter_pause [Tracepoint event] syscalls:sys_enter_perf_event_open [Tracepoint event] syscalls:sys_enter_personality [Tracepoint event] syscalls:sys_enter_pipe [Tracepoint event] syscalls:sys_enter_pipe2 [Tracepoint event] syscalls:sys_enter_pivot_root [Tracepoint event] syscalls:sys_enter_pkey_alloc [Tracepoint event] syscalls:sys_enter_pkey_free [Tracepoint event] syscalls:sys_enter_pkey_mprotect [Tracepoint event] syscalls:sys_enter_poll [Tracepoint event] syscalls:sys_enter_ppoll [Tracepoint event] syscalls:sys_enter_prctl [Tracepoint event] syscalls:sys_enter_pread64 [Tracepoint event] syscalls:sys_enter_preadv [Tracepoint event] syscalls:sys_enter_preadv2 [Tracepoint event] syscalls:sys_enter_prlimit64 [Tracepoint event] syscalls:sys_enter_process_vm_readv [Tracepoint event] syscalls:sys_enter_process_vm_writev [Tracepoint event] syscalls:sys_enter_pselect6 [Tracepoint event] syscalls:sys_enter_ptrace [Tracepoint event] syscalls:sys_enter_pwrite64 [Tracepoint event] syscalls:sys_enter_pwritev [Tracepoint event] syscalls:sys_enter_pwritev2 [Tracepoint event] syscalls:sys_enter_quotactl [Tracepoint event] syscalls:sys_enter_read [Tracepoint event] syscalls:sys_enter_readahead [Tracepoint event] syscalls:sys_enter_readlink [Tracepoint event] syscalls:sys_enter_readlinkat [Tracepoint event] syscalls:sys_enter_readv [Tracepoint event] syscalls:sys_enter_reboot [Tracepoint event] syscalls:sys_enter_recvfrom [Tracepoint event] syscalls:sys_enter_recvmmsg [Tracepoint event] syscalls:sys_enter_recvmsg [Tracepoint event] syscalls:sys_enter_remap_file_pages [Tracepoint event] syscalls:sys_enter_removexattr [Tracepoint event] syscalls:sys_enter_rename [Tracepoint event] syscalls:sys_enter_renameat [Tracepoint event] syscalls:sys_enter_renameat2 [Tracepoint event] syscalls:sys_enter_request_key [Tracepoint event] syscalls:sys_enter_restart_syscall [Tracepoint event] syscalls:sys_enter_rmdir [Tracepoint event] syscalls:sys_enter_rseq [Tracepoint event] syscalls:sys_enter_rt_sigaction [Tracepoint event] syscalls:sys_enter_rt_sigpending [Tracepoint event] syscalls:sys_enter_rt_sigprocmask [Tracepoint event] syscalls:sys_enter_rt_sigqueueinfo [Tracepoint event] syscalls:sys_enter_rt_sigreturn [Tracepoint event] syscalls:sys_enter_rt_sigsuspend [Tracepoint event] syscalls:sys_enter_rt_sigtimedwait [Tracepoint event] syscalls:sys_enter_rt_tgsigqueueinfo [Tracepoint event] syscalls:sys_enter_sched_get_priority_max [Tracepoint event] syscalls:sys_enter_sched_get_priority_min [Tracepoint event] syscalls:sys_enter_sched_getaffinity [Tracepoint event] syscalls:sys_enter_sched_getattr [Tracepoint event] syscalls:sys_enter_sched_getparam [Tracepoint event] syscalls:sys_enter_sched_getscheduler [Tracepoint event] syscalls:sys_enter_sched_rr_get_interval [Tracepoint event] syscalls:sys_enter_sched_setaffinity [Tracepoint event] syscalls:sys_enter_sched_setattr [Tracepoint event] syscalls:sys_enter_sched_setparam [Tracepoint event] syscalls:sys_enter_sched_setscheduler [Tracepoint event] syscalls:sys_enter_sched_yield [Tracepoint event] syscalls:sys_enter_seccomp [Tracepoint event] syscalls:sys_enter_select [Tracepoint event] syscalls:sys_enter_semctl [Tracepoint event] syscalls:sys_enter_semget [Tracepoint event] syscalls:sys_enter_semop [Tracepoint event] syscalls:sys_enter_semtimedop [Tracepoint event] syscalls:sys_enter_sendfile64 [Tracepoint event] syscalls:sys_enter_sendmmsg [Tracepoint event] syscalls:sys_enter_sendmsg [Tracepoint event] syscalls:sys_enter_sendto [Tracepoint event] syscalls:sys_enter_set_mempolicy [Tracepoint event] syscalls:sys_enter_set_robust_list [Tracepoint event] syscalls:sys_enter_set_tid_address [Tracepoint event] syscalls:sys_enter_setdomainname [Tracepoint event] syscalls:sys_enter_setfsgid [Tracepoint event] syscalls:sys_enter_setfsuid [Tracepoint event] syscalls:sys_enter_setgid [Tracepoint event] syscalls:sys_enter_setgroups [Tracepoint event] syscalls:sys_enter_sethostname [Tracepoint event] syscalls:sys_enter_setitimer [Tracepoint event] syscalls:sys_enter_setns [Tracepoint event] syscalls:sys_enter_setpgid [Tracepoint event] syscalls:sys_enter_setpriority [Tracepoint event] syscalls:sys_enter_setregid [Tracepoint event] syscalls:sys_enter_setresgid [Tracepoint event] syscalls:sys_enter_setresuid [Tracepoint event] syscalls:sys_enter_setreuid [Tracepoint event] syscalls:sys_enter_setrlimit [Tracepoint event] syscalls:sys_enter_setsid [Tracepoint event] syscalls:sys_enter_setsockopt [Tracepoint event] syscalls:sys_enter_settimeofday [Tracepoint event] syscalls:sys_enter_setuid [Tracepoint event] syscalls:sys_enter_setxattr [Tracepoint event] syscalls:sys_enter_shmat [Tracepoint event] syscalls:sys_enter_shmctl [Tracepoint event] syscalls:sys_enter_shmdt [Tracepoint event] syscalls:sys_enter_shmget [Tracepoint event] syscalls:sys_enter_shutdown [Tracepoint event] syscalls:sys_enter_sigaltstack [Tracepoint event] syscalls:sys_enter_signalfd [Tracepoint event] syscalls:sys_enter_signalfd4 [Tracepoint event] syscalls:sys_enter_socket [Tracepoint event] syscalls:sys_enter_socketpair [Tracepoint event] syscalls:sys_enter_splice [Tracepoint event] syscalls:sys_enter_statfs [Tracepoint event] syscalls:sys_enter_statx [Tracepoint event] syscalls:sys_enter_swapoff [Tracepoint event] syscalls:sys_enter_swapon [Tracepoint event] syscalls:sys_enter_symlink [Tracepoint event] syscalls:sys_enter_symlinkat [Tracepoint event] syscalls:sys_enter_sync [Tracepoint event] syscalls:sys_enter_sync_file_range [Tracepoint event] syscalls:sys_enter_syncfs [Tracepoint event] syscalls:sys_enter_sysctl [Tracepoint event] syscalls:sys_enter_sysfs [Tracepoint event] syscalls:sys_enter_sysinfo [Tracepoint event] syscalls:sys_enter_syslog [Tracepoint event] syscalls:sys_enter_tee [Tracepoint event] syscalls:sys_enter_tgkill [Tracepoint event] syscalls:sys_enter_time [Tracepoint event] syscalls:sys_enter_timer_create [Tracepoint event] syscalls:sys_enter_timer_delete [Tracepoint event] syscalls:sys_enter_timer_getoverrun [Tracepoint event] syscalls:sys_enter_timer_gettime [Tracepoint event] syscalls:sys_enter_timer_settime [Tracepoint event] syscalls:sys_enter_timerfd_create [Tracepoint event] syscalls:sys_enter_timerfd_gettime [Tracepoint event] syscalls:sys_enter_timerfd_settime [Tracepoint event] syscalls:sys_enter_times [Tracepoint event] syscalls:sys_enter_tkill [Tracepoint event] syscalls:sys_enter_truncate [Tracepoint event] syscalls:sys_enter_umask [Tracepoint event] syscalls:sys_enter_umount [Tracepoint event] syscalls:sys_enter_unlink [Tracepoint event] syscalls:sys_enter_unlinkat [Tracepoint event] syscalls:sys_enter_unshare [Tracepoint event] syscalls:sys_enter_userfaultfd [Tracepoint event] syscalls:sys_enter_ustat [Tracepoint event] syscalls:sys_enter_utime [Tracepoint event] syscalls:sys_enter_utimensat [Tracepoint event] syscalls:sys_enter_utimes [Tracepoint event] syscalls:sys_enter_vfork [Tracepoint event] syscalls:sys_enter_vhangup [Tracepoint event] syscalls:sys_enter_vmsplice [Tracepoint event] syscalls:sys_enter_wait4 [Tracepoint event] syscalls:sys_enter_waitid [Tracepoint event] syscalls:sys_enter_write [Tracepoint event] syscalls:sys_enter_writev [Tracepoint event] syscalls:sys_exit_accept [Tracepoint event] syscalls:sys_exit_accept4 [Tracepoint event] syscalls:sys_exit_access [Tracepoint event] syscalls:sys_exit_acct [Tracepoint event] syscalls:sys_exit_add_key [Tracepoint event] syscalls:sys_exit_adjtimex [Tracepoint event] syscalls:sys_exit_alarm [Tracepoint event] syscalls:sys_exit_arch_prctl [Tracepoint event] syscalls:sys_exit_bind [Tracepoint event] syscalls:sys_exit_bpf [Tracepoint event] syscalls:sys_exit_brk [Tracepoint event] syscalls:sys_exit_capget [Tracepoint event] syscalls:sys_exit_capset [Tracepoint event] syscalls:sys_exit_chdir [Tracepoint event] syscalls:sys_exit_chmod [Tracepoint event] syscalls:sys_exit_chown [Tracepoint event] syscalls:sys_exit_chroot [Tracepoint event] syscalls:sys_exit_clock_adjtime [Tracepoint event] syscalls:sys_exit_clock_getres [Tracepoint event] syscalls:sys_exit_clock_gettime [Tracepoint event] syscalls:sys_exit_clock_nanosleep [Tracepoint event] syscalls:sys_exit_clock_settime [Tracepoint event] syscalls:sys_exit_clone [Tracepoint event] syscalls:sys_exit_close [Tracepoint event] syscalls:sys_exit_connect [Tracepoint event] syscalls:sys_exit_copy_file_range [Tracepoint event] syscalls:sys_exit_creat [Tracepoint event] syscalls:sys_exit_delete_module [Tracepoint event] syscalls:sys_exit_dup [Tracepoint event] syscalls:sys_exit_dup2 [Tracepoint event] syscalls:sys_exit_dup3 [Tracepoint event] syscalls:sys_exit_epoll_create [Tracepoint event] syscalls:sys_exit_epoll_create1 [Tracepoint event] syscalls:sys_exit_epoll_ctl [Tracepoint event] syscalls:sys_exit_epoll_pwait [Tracepoint event] syscalls:sys_exit_epoll_wait [Tracepoint event] syscalls:sys_exit_eventfd [Tracepoint event] syscalls:sys_exit_eventfd2 [Tracepoint event] syscalls:sys_exit_execve [Tracepoint event] syscalls:sys_exit_execveat [Tracepoint event] syscalls:sys_exit_exit [Tracepoint event] syscalls:sys_exit_exit_group [Tracepoint event] syscalls:sys_exit_faccessat [Tracepoint event] syscalls:sys_exit_fadvise64 [Tracepoint event] syscalls:sys_exit_fallocate [Tracepoint event] syscalls:sys_exit_fanotify_init [Tracepoint event] syscalls:sys_exit_fanotify_mark [Tracepoint event] syscalls:sys_exit_fchdir [Tracepoint event] syscalls:sys_exit_fchmod [Tracepoint event] syscalls:sys_exit_fchmodat [Tracepoint event] syscalls:sys_exit_fchown [Tracepoint event] syscalls:sys_exit_fchownat [Tracepoint event] syscalls:sys_exit_fcntl [Tracepoint event] syscalls:sys_exit_fdatasync [Tracepoint event] syscalls:sys_exit_fgetxattr [Tracepoint event] syscalls:sys_exit_finit_module [Tracepoint event] syscalls:sys_exit_flistxattr [Tracepoint event] syscalls:sys_exit_flock [Tracepoint event] syscalls:sys_exit_fork [Tracepoint event] syscalls:sys_exit_fremovexattr [Tracepoint event] syscalls:sys_exit_fsetxattr [Tracepoint event] syscalls:sys_exit_fstatfs [Tracepoint event] syscalls:sys_exit_fsync [Tracepoint event] syscalls:sys_exit_ftruncate [Tracepoint event] syscalls:sys_exit_futex [Tracepoint event] syscalls:sys_exit_futimesat [Tracepoint event] syscalls:sys_exit_get_mempolicy [Tracepoint event] syscalls:sys_exit_get_robust_list [Tracepoint event] syscalls:sys_exit_getcpu [Tracepoint event] syscalls:sys_exit_getcwd [Tracepoint event] syscalls:sys_exit_getdents [Tracepoint event] syscalls:sys_exit_getdents64 [Tracepoint event] syscalls:sys_exit_getegid [Tracepoint event] syscalls:sys_exit_geteuid [Tracepoint event] syscalls:sys_exit_getgid [Tracepoint event] syscalls:sys_exit_getgroups [Tracepoint event] syscalls:sys_exit_getitimer [Tracepoint event] syscalls:sys_exit_getpeername [Tracepoint event] syscalls:sys_exit_getpgid [Tracepoint event] syscalls:sys_exit_getpgrp [Tracepoint event] syscalls:sys_exit_getpid [Tracepoint event] syscalls:sys_exit_getppid [Tracepoint event] syscalls:sys_exit_getpriority [Tracepoint event] syscalls:sys_exit_getrandom [Tracepoint event] syscalls:sys_exit_getresgid [Tracepoint event] syscalls:sys_exit_getresuid [Tracepoint event] syscalls:sys_exit_getrlimit [Tracepoint event] syscalls:sys_exit_getrusage [Tracepoint event] syscalls:sys_exit_getsid [Tracepoint event] syscalls:sys_exit_getsockname [Tracepoint event] syscalls:sys_exit_getsockopt [Tracepoint event] syscalls:sys_exit_gettid [Tracepoint event] syscalls:sys_exit_gettimeofday [Tracepoint event] syscalls:sys_exit_getuid [Tracepoint event] syscalls:sys_exit_getxattr [Tracepoint event] syscalls:sys_exit_init_module [Tracepoint event] syscalls:sys_exit_inotify_add_watch [Tracepoint event] syscalls:sys_exit_inotify_init [Tracepoint event] syscalls:sys_exit_inotify_init1 [Tracepoint event] syscalls:sys_exit_inotify_rm_watch [Tracepoint event] syscalls:sys_exit_io_cancel [Tracepoint event] syscalls:sys_exit_io_destroy [Tracepoint event] syscalls:sys_exit_io_getevents [Tracepoint event] syscalls:sys_exit_io_pgetevents [Tracepoint event] syscalls:sys_exit_io_setup [Tracepoint event] syscalls:sys_exit_io_submit [Tracepoint event] syscalls:sys_exit_ioctl [Tracepoint event] syscalls:sys_exit_ioperm [Tracepoint event] syscalls:sys_exit_iopl [Tracepoint event] syscalls:sys_exit_ioprio_get [Tracepoint event] syscalls:sys_exit_ioprio_set [Tracepoint event] syscalls:sys_exit_kcmp [Tracepoint event] syscalls:sys_exit_kexec_file_load [Tracepoint event] syscalls:sys_exit_kexec_load [Tracepoint event] syscalls:sys_exit_keyctl [Tracepoint event] syscalls:sys_exit_kill [Tracepoint event] syscalls:sys_exit_lchown [Tracepoint event] syscalls:sys_exit_lgetxattr [Tracepoint event] syscalls:sys_exit_link [Tracepoint event] syscalls:sys_exit_linkat [Tracepoint event] syscalls:sys_exit_listen [Tracepoint event] syscalls:sys_exit_listxattr [Tracepoint event] syscalls:sys_exit_llistxattr [Tracepoint event] syscalls:sys_exit_lookup_dcookie [Tracepoint event] syscalls:sys_exit_lremovexattr [Tracepoint event] syscalls:sys_exit_lseek [Tracepoint event] syscalls:sys_exit_lsetxattr [Tracepoint event] syscalls:sys_exit_madvise [Tracepoint event] syscalls:sys_exit_mbind [Tracepoint event] syscalls:sys_exit_membarrier [Tracepoint event] syscalls:sys_exit_memfd_create [Tracepoint event] syscalls:sys_exit_migrate_pages [Tracepoint event] syscalls:sys_exit_mincore [Tracepoint event] syscalls:sys_exit_mkdir [Tracepoint event] syscalls:sys_exit_mkdirat [Tracepoint event] syscalls:sys_exit_mknod [Tracepoint event] syscalls:sys_exit_mknodat [Tracepoint event] syscalls:sys_exit_mlock [Tracepoint event] syscalls:sys_exit_mlock2 [Tracepoint event] syscalls:sys_exit_mlockall [Tracepoint event] syscalls:sys_exit_mmap [Tracepoint event] syscalls:sys_exit_modify_ldt [Tracepoint event] syscalls:sys_exit_mount [Tracepoint event] syscalls:sys_exit_move_pages [Tracepoint event] syscalls:sys_exit_mprotect [Tracepoint event] syscalls:sys_exit_mq_getsetattr [Tracepoint event] syscalls:sys_exit_mq_notify [Tracepoint event] syscalls:sys_exit_mq_open [Tracepoint event] syscalls:sys_exit_mq_timedreceive [Tracepoint event] syscalls:sys_exit_mq_timedsend [Tracepoint event] syscalls:sys_exit_mq_unlink [Tracepoint event] syscalls:sys_exit_mremap [Tracepoint event] syscalls:sys_exit_msgctl [Tracepoint event] syscalls:sys_exit_msgget [Tracepoint event] syscalls:sys_exit_msgrcv [Tracepoint event] syscalls:sys_exit_msgsnd [Tracepoint event] syscalls:sys_exit_msync [Tracepoint event] syscalls:sys_exit_munlock [Tracepoint event] syscalls:sys_exit_munlockall [Tracepoint event] syscalls:sys_exit_munmap [Tracepoint event] syscalls:sys_exit_name_to_handle_at [Tracepoint event] syscalls:sys_exit_nanosleep [Tracepoint event] syscalls:sys_exit_newfstat [Tracepoint event] syscalls:sys_exit_newfstatat [Tracepoint event] syscalls:sys_exit_newlstat [Tracepoint event] syscalls:sys_exit_newstat [Tracepoint event] syscalls:sys_exit_newuname [Tracepoint event] syscalls:sys_exit_open [Tracepoint event] syscalls:sys_exit_open_by_handle_at [Tracepoint event] syscalls:sys_exit_openat [Tracepoint event] syscalls:sys_exit_pause [Tracepoint event] syscalls:sys_exit_perf_event_open [Tracepoint event] syscalls:sys_exit_personality [Tracepoint event] syscalls:sys_exit_pipe [Tracepoint event] syscalls:sys_exit_pipe2 [Tracepoint event] syscalls:sys_exit_pivot_root [Tracepoint event] syscalls:sys_exit_pkey_alloc [Tracepoint event] syscalls:sys_exit_pkey_free [Tracepoint event] syscalls:sys_exit_pkey_mprotect [Tracepoint event] syscalls:sys_exit_poll [Tracepoint event] syscalls:sys_exit_ppoll [Tracepoint event] syscalls:sys_exit_prctl [Tracepoint event] syscalls:sys_exit_pread64 [Tracepoint event] syscalls:sys_exit_preadv [Tracepoint event] syscalls:sys_exit_preadv2 [Tracepoint event] syscalls:sys_exit_prlimit64 [Tracepoint event] syscalls:sys_exit_process_vm_readv [Tracepoint event] syscalls:sys_exit_process_vm_writev [Tracepoint event] syscalls:sys_exit_pselect6 [Tracepoint event] syscalls:sys_exit_ptrace [Tracepoint event] syscalls:sys_exit_pwrite64 [Tracepoint event] syscalls:sys_exit_pwritev [Tracepoint event] syscalls:sys_exit_pwritev2 [Tracepoint event] syscalls:sys_exit_quotactl [Tracepoint event] syscalls:sys_exit_read [Tracepoint event] syscalls:sys_exit_readahead [Tracepoint event] syscalls:sys_exit_readlink [Tracepoint event] syscalls:sys_exit_readlinkat [Tracepoint event] syscalls:sys_exit_readv [Tracepoint event] syscalls:sys_exit_reboot [Tracepoint event] syscalls:sys_exit_recvfrom [Tracepoint event] syscalls:sys_exit_recvmmsg [Tracepoint event] syscalls:sys_exit_recvmsg [Tracepoint event] syscalls:sys_exit_remap_file_pages [Tracepoint event] syscalls:sys_exit_removexattr [Tracepoint event] syscalls:sys_exit_rename [Tracepoint event] syscalls:sys_exit_renameat [Tracepoint event] syscalls:sys_exit_renameat2 [Tracepoint event] syscalls:sys_exit_request_key [Tracepoint event] syscalls:sys_exit_restart_syscall [Tracepoint event] syscalls:sys_exit_rmdir [Tracepoint event] syscalls:sys_exit_rseq [Tracepoint event] syscalls:sys_exit_rt_sigaction [Tracepoint event] syscalls:sys_exit_rt_sigpending [Tracepoint event] syscalls:sys_exit_rt_sigprocmask [Tracepoint event] syscalls:sys_exit_rt_sigqueueinfo [Tracepoint event] syscalls:sys_exit_rt_sigreturn [Tracepoint event] syscalls:sys_exit_rt_sigsuspend [Tracepoint event] syscalls:sys_exit_rt_sigtimedwait [Tracepoint event] syscalls:sys_exit_rt_tgsigqueueinfo [Tracepoint event] syscalls:sys_exit_sched_get_priority_max [Tracepoint event] syscalls:sys_exit_sched_get_priority_min [Tracepoint event] syscalls:sys_exit_sched_getaffinity [Tracepoint event] syscalls:sys_exit_sched_getattr [Tracepoint event] syscalls:sys_exit_sched_getparam [Tracepoint event] syscalls:sys_exit_sched_getscheduler [Tracepoint event] syscalls:sys_exit_sched_rr_get_interval [Tracepoint event] syscalls:sys_exit_sched_setaffinity [Tracepoint event] syscalls:sys_exit_sched_setattr [Tracepoint event] syscalls:sys_exit_sched_setparam [Tracepoint event] syscalls:sys_exit_sched_setscheduler [Tracepoint event] syscalls:sys_exit_sched_yield [Tracepoint event] syscalls:sys_exit_seccomp [Tracepoint event] syscalls:sys_exit_select [Tracepoint event] syscalls:sys_exit_semctl [Tracepoint event] syscalls:sys_exit_semget [Tracepoint event] syscalls:sys_exit_semop [Tracepoint event] syscalls:sys_exit_semtimedop [Tracepoint event] syscalls:sys_exit_sendfile64 [Tracepoint event] syscalls:sys_exit_sendmmsg [Tracepoint event] syscalls:sys_exit_sendmsg [Tracepoint event] syscalls:sys_exit_sendto [Tracepoint event] syscalls:sys_exit_set_mempolicy [Tracepoint event] syscalls:sys_exit_set_robust_list [Tracepoint event] syscalls:sys_exit_set_tid_address [Tracepoint event] syscalls:sys_exit_setdomainname [Tracepoint event] syscalls:sys_exit_setfsgid [Tracepoint event] syscalls:sys_exit_setfsuid [Tracepoint event] syscalls:sys_exit_setgid [Tracepoint event] syscalls:sys_exit_setgroups [Tracepoint event] syscalls:sys_exit_sethostname [Tracepoint event] syscalls:sys_exit_setitimer [Tracepoint event] syscalls:sys_exit_setns [Tracepoint event] syscalls:sys_exit_setpgid [Tracepoint event] syscalls:sys_exit_setpriority [Tracepoint event] syscalls:sys_exit_setregid [Tracepoint event] syscalls:sys_exit_setresgid [Tracepoint event] syscalls:sys_exit_setresuid [Tracepoint event] syscalls:sys_exit_setreuid [Tracepoint event] syscalls:sys_exit_setrlimit [Tracepoint event] syscalls:sys_exit_setsid [Tracepoint event] syscalls:sys_exit_setsockopt [Tracepoint event] syscalls:sys_exit_settimeofday [Tracepoint event] syscalls:sys_exit_setuid [Tracepoint event] syscalls:sys_exit_setxattr [Tracepoint event] syscalls:sys_exit_shmat [Tracepoint event] syscalls:sys_exit_shmctl [Tracepoint event] syscalls:sys_exit_shmdt [Tracepoint event] syscalls:sys_exit_shmget [Tracepoint event] syscalls:sys_exit_shutdown [Tracepoint event] syscalls:sys_exit_sigaltstack [Tracepoint event] syscalls:sys_exit_signalfd [Tracepoint event] syscalls:sys_exit_signalfd4 [Tracepoint event] syscalls:sys_exit_socket [Tracepoint event] syscalls:sys_exit_socketpair [Tracepoint event] syscalls:sys_exit_splice [Tracepoint event] syscalls:sys_exit_statfs [Tracepoint event] syscalls:sys_exit_statx [Tracepoint event] syscalls:sys_exit_swapoff [Tracepoint event] syscalls:sys_exit_swapon [Tracepoint event] syscalls:sys_exit_symlink [Tracepoint event] syscalls:sys_exit_symlinkat [Tracepoint event] syscalls:sys_exit_sync [Tracepoint event] syscalls:sys_exit_sync_file_range [Tracepoint event] syscalls:sys_exit_syncfs [Tracepoint event] syscalls:sys_exit_sysctl [Tracepoint event] syscalls:sys_exit_sysfs [Tracepoint event] syscalls:sys_exit_sysinfo [Tracepoint event] syscalls:sys_exit_syslog [Tracepoint event] syscalls:sys_exit_tee [Tracepoint event] syscalls:sys_exit_tgkill [Tracepoint event] syscalls:sys_exit_time [Tracepoint event] syscalls:sys_exit_timer_create [Tracepoint event] syscalls:sys_exit_timer_delete [Tracepoint event] syscalls:sys_exit_timer_getoverrun [Tracepoint event] syscalls:sys_exit_timer_gettime [Tracepoint event] syscalls:sys_exit_timer_settime [Tracepoint event] syscalls:sys_exit_timerfd_create [Tracepoint event] syscalls:sys_exit_timerfd_gettime [Tracepoint event] syscalls:sys_exit_timerfd_settime [Tracepoint event] syscalls:sys_exit_times [Tracepoint event] syscalls:sys_exit_tkill [Tracepoint event] syscalls:sys_exit_truncate [Tracepoint event] syscalls:sys_exit_umask [Tracepoint event] syscalls:sys_exit_umount [Tracepoint event] syscalls:sys_exit_unlink [Tracepoint event] syscalls:sys_exit_unlinkat [Tracepoint event] syscalls:sys_exit_unshare [Tracepoint event] syscalls:sys_exit_userfaultfd [Tracepoint event] syscalls:sys_exit_ustat [Tracepoint event] syscalls:sys_exit_utime [Tracepoint event] syscalls:sys_exit_utimensat [Tracepoint event] syscalls:sys_exit_utimes [Tracepoint event] syscalls:sys_exit_vfork [Tracepoint event] syscalls:sys_exit_vhangup [Tracepoint event] syscalls:sys_exit_vmsplice [Tracepoint event] syscalls:sys_exit_wait4 [Tracepoint event] syscalls:sys_exit_waitid [Tracepoint event] syscalls:sys_exit_write [Tracepoint event] syscalls:sys_exit_writev [Tracepoint event]
最新发布
11-21
[ 192.648063] I[ 5: swapper/5: 0] task:init state:D stack:0 pid:1 ppid:0 flags:0x04000008 [ 192.648075] I[ 5: swapper/5: 0] Call trace: [ 192.648085] I[ 5: swapper/5: 0] __switch_to+0x15c/0x2cc [ 192.648092] I[ 5: swapper/5: 0] __schedule+0x608/0x9f0 [ 192.648099] I[ 5: swapper/5: 0] schedule+0x7c/0xe8 [ 192.648108] I[ 5: swapper/5: 0] io_schedule+0x38/0xb4 [ 192.648121] I[ 5: swapper/5: 0] folio_wait_bit_common+0x2ac/0x3d8 [ 192.648131] I[ 5: swapper/5: 0] folio_wait_bit+0x18/0x24 [ 192.648142] I[ 5: swapper/5: 0] folio_wait_writeback+0x60/0xc8 [ 192.648153] I[ 5: swapper/5: 0] wait_on_page_writeback+0x18/0x30 [ 192.648164] I[ 5: swapper/5: 0] __filemap_fdatawait_range+0xc4/0x158 [ 192.648174] I[ 5: swapper/5: 0] filemap_fdatawait_keep_errors+0x20/0x54 [ 192.648187] I[ 5: swapper/5: 0] sync_bdevs+0xdc/0x134 [ 192.648201] I[ 5: swapper/5: 0] ksys_sync+0x70/0xb4 [ 192.648211] I[ 5: swapper/5: 0] __arm64_sys_sync+0x10/0x24 [ 192.648222] I[ 5: swapper/5: 0] invoke_syscall+0x70/0x154 [ 192.648232] I[ 5: swapper/5: 0] el0_svc_common+0xb4/0xf4 [ 192.648241] I[ 5: swapper/5: 0] do_el0_svc+0x24/0x80 [ 192.648250] I[ 5: swapper/5: 0] el0_svc+0x2c/0x90 [ 192.648259] I[ 5: swapper/5: 0] el0t_64_sync_handler+0x68/0xb4 [ 192.648269] I[ 5: swapper/5: 0] el0t_64_sync+0x1a4/0x1a8 [ 192.648572] I[ 5: swapper/5: 0] task:kworker/0:3H state:D stack:0 pid:729 ppid:2 flags:0x00000008 [ 192.648594] I[ 5: swapper/5: 0] Workqueue: mmc_complete mmc_blk_mq_complete_work [ 192.648601] I[ 5: swapper/5: 0] Call trace: [ 192.648609] I[ 5: swapper/5: 0] __switch_to+0x15c/0x2cc [ 192.648616] I[ 5: swapper/5: 0] __schedule+0x608/0x9f0 [ 192.648624] I[ 5: swapper/5: 0] schedule+0x7c/0xe8 [ 192.648634] I[ 5: swapper/5: 0] schedule_hrtimeout_range_clock+0xa4/0x118 [ 192.648642] I[ 5: swapper/5: 0] schedule_hrtimeout_range+0x14/0x24 [ 192.648649] I[ 5: swapper/5: 0] usleep_range_state+0x60/0x9c [ 192.648662] I[ 5: swapper/5: 0] mmc_poll_for_busy+0x8c/0x24c [ 192.648673] I[ 5: swapper/5: 0] mmc_blk_fix_state+0x100/0x13c [ 192.648684] I[ 5: swapper/5: 0] mmc_blk_mq_rw_recovery+0x154/0x3e8 [ 192.648693] I[ 5: swapper/5: 0] mmc_blk_mq_complete_prev_req+0xe0/0x25c [ 192.648702] I[ 5: swapper/5: 0] mmc_blk_mq_complete_work+0x18/0x24 [ 192.648715] I[ 5: swapper/5: 0] process_one_work+0x1e4/0x43c [ 192.648722] I[ 5: swapper/5: 0] worker_thread+0x25c/0x430 [ 192.648731] I[ 5: swapper/5: 0] kthread+0x104/0x1d4 [ 192.648739] I[ 5: swapper/5: 0] ret_from_fork+0x10/0x20 [ 192.649122] I[ 5: swapper/5: 0] task:kworker/6:3H state:D stack:0 pid:3143 ppid:2 flags:0x00000008 [ 192.649144] I[ 5: swapper/5: 0] Workqueue: kblockd blk_mq_run_work_fn [ 192.649151] I[ 5: swapper/5: 0] Call trace: [ 192.649159] I[ 5: swapper/5: 0] __switch_to+0x15c/0x2cc [ 192.649167] I[ 5: swapper/5: 0] __schedule+0x608/0x9f0 [ 192.649175] I[ 5: swapper/5: 0] schedule+0x7c/0xe8 [ 192.649183] I[ 5: swapper/5: 0] schedule_preempt_disabled+0x24/0x40 [ 192.649192] I[ 5: swapper/5: 0] __mutex_lock+0x408/0xdac [ 192.649200] I[ 5: swapper/5: 0] __mutex_lock_slowpath+0x14/0x24 [ 192.649208] I[ 5: swapper/5: 0] mutex_lock+0x40/0xec [ 192.649217] I[ 5: swapper/5: 0] mmc_blk_mq_complete_prev_req+0x50/0x25c [ 192.649225] I[ 5: swapper/5: 0] mmc_blk_rw_wait+0x104/0x13c [ 192.649234] I[ 5: swapper/5: 0] mmc_blk_mq_issue_rq+0x274/0x434 [ 192.649245] I[ 5: swapper/5: 0] mmc_mq_queue_rq+0x210/0x284 [ 192.649253] I[ 5: swapper/5: 0] blk_mq_dispatch_rq_list+0x404/0x9b4 [ 192.649262] I[ 5: swapper/5: 0] blk_mq_do_dispatch_sched+0x35c/0x3fc [ 192.649270] I[ 5: swapper/5: 0] __blk_mq_sched_dispatch_requests+0xfc/0x184 [ 192.649280] I[ 5: swapper/5: 0] blk_mq_sched_dispatch_requests+0x3c/0x80 [ 192.649289] I[ 5: swapper/5: 0] __blk_mq_run_hw_queue+0x58/0x90 [ 192.649296] I[ 5: swapper/5: 0] blk_mq_run_work_fn+0x1c/0x3c [ 192.649306] I[ 5: swapper/5: 0] process_one_work+0x1e4/0x43c [ 192.649315] I[ 5: swapper/5: 0] worker_thread+0x25c/0x430 [ 192.649323] I[ 5: swapper/5: 0] kthread+0x104/0x1d4 [ 192.649330] I[ 5: swapper/5: 0] ret_from_fork+0x10/0x20 [ 192.649340] I[ 5: swapper/5: 0] task:fsck.vfat state:D stack:0 pid:5349 ppid:1 flags:0x04000009 [ 192.649350] I[ 5: swapper/5: 0] Call trace: [ 192.649356] I[ 5: swapper/5: 0] __switch_to+0x15c/0x2cc [ 192.649364] I[ 5: swapper/5: 0] __schedule+0x608/0x9f0 [ 192.649371] I[ 5: swapper/5: 0] schedule+0x7c/0xe8 [ 192.649379] I[ 5: swapper/5: 0] io_schedule+0x38/0xb4 [ 192.649390] I[ 5: swapper/5: 0] folio_wait_bit_common+0x2ac/0x3d8 [ 192.649398] I[ 5: swapper/5: 0] folio_wait_bit+0x18/0x24 [ 192.649407] I[ 5: swapper/5: 0] folio_wait_writeback+0x60/0xc8 [ 192.649416] I[ 5: swapper/5: 0] wait_on_page_writeback+0x18/0x30 [ 192.649425] I[ 5: swapper/5: 0] __filemap_fdatawait_range+0xc4/0x158 [ 192.649434] I[ 5: swapper/5: 0] file_write_and_wait_range+0xac/0xf8 [ 192.649444] I[ 5: swapper/5: 0] blkdev_fsync+0x18/0x40 [ 192.649454] I[ 5: swapper/5: 0] __arm64_sys_fsync+0x80/0xd0 [ 192.649463] I[ 5: swapper/5: 0] invoke_syscall+0x70/0x154 [ 192.649472] I[ 5: swapper/5: 0] el0_svc_common+0xb4/0xf4 [ 192.649480] I[ 5: swapper/5: 0] do_el0_svc+0x24/0x80 [ 192.649488] I[ 5: swapper/5: 0] el0_svc+0x2c/0x90 [ 192.649497] I[ 5: swapper/5: 0] el0t_64_sync_handler+0x68/0xb4 [ 192.649504] I[ 5: swapper/5: 0] el0t_64_sync+0x1a4/0x1a8 解释一下
10-31
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值