1. 04 1月, 2023 4 次提交
  2. 28 12月, 2022 1 次提交
    • O
      !333 Fix PASID use-after-free issue · ffbead4e
      openeuler-ci-bot 提交于
      Merge Pull Request from: @x56Jason 
       
      This PR is to backport upstream fix for a PASID use-after-free issue that are missed in previous backporting.
      
      ## Intel-Kernel issue
      #I67QJ2
      
      
      ## Test
      Kernel build and boot
      
      ## Known Issue
      N/A
      
      ## Default Config Change
      N/A 
       
      Link:https://gitee.com/openeuler/kernel/pulls/333 
      Reviewed-by: Zheng Zengkai <zhengzengkai@huawei.com> 
      Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com> 
      ffbead4e
  3. 27 12月, 2022 1 次提交
  4. 26 12月, 2022 1 次提交
    • J
      timekeeping: Adding a padding before timekeeper in tk_core · 28cb7442
      Jialin Zhang 提交于
      hulk inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I47W8L
      CVE: NA
      
      ---------------------------
      
      Adding a padding before timekeeper in tk_core can futhor fix
      the false sharing problem discovered by commit 60527666
      ("timekeeping: Avoiding false sharing in field access of tk_core")
      
      context1 of unixbench is tested on Huawei Kunpeng920.
      before this patch
      0 CPUs in system; running 96 parallel copies of tests
      
      Pipe-based Context Switching               17213571.7 lps   (10.0 s, 1 samples)
      
      System Benchmarks Partial Index              BASELINE       RESULT    INDEX
      Pipe-based Context Switching                   4000.0   17213571.7  43033.9
                                                                         ========
      System Benchmarks Index Score (Partial Only)                        43033.9
      
      after this patch
      0 CPUs in system; running 96 parallel copies of tests
      
      Pipe-based Context Switching               20321268.3 lps   (10.0 s, 1 samples)
      
      System Benchmarks Partial Index              BASELINE       RESULT    INDEX
      Pipe-based Context Switching                   4000.0   20321268.3  50803.2
                                                                         ========
      System Benchmarks Index Score (Partial Only)                        50803.2
      Signed-off-by: NJialin Zhang <zhangjialin11@huawei.com>
      Reviewed-by: NXie XiuQi <xiexiuqi@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      28cb7442
  5. 23 12月, 2022 2 次提交
  6. 19 12月, 2022 10 次提交
  7. 16 12月, 2022 10 次提交
  8. 15 12月, 2022 3 次提交
  9. 13 12月, 2022 8 次提交
    • O
      !326 vdpa: Add the vdpa device management mechanism and optimize the iotlb · 306b4220
      openeuler-ci-bot 提交于
      Merge Pull Request from: @Zhao_Py 
       
      Sync from https://gitee.com/openeuler/kernel/pulls/309
      
      #I5WXCZ
      
      [Description]​
      1、add vdpa tool support in vp_vdpa 
      2、multiple address spaces support in vdpa
      3、support ASID based IOTLB API in vhost-vdpa
      4、add suspend support vhost-vdpa
      
      [Testing]
      1. Environmental preparation
      Server hardware: TaiShan 200
      Network card: SmartNIC
      Operating system: openEuler 22.03 LTS
      2. Operation Procedure
      Apply the relevant patches in the kernel and reinstall the kernel.
      Enable the SmartNIC vf.
      Insert the driver related to the vdpa:
      ```
              insmod drivers/vhost/vhost_iotlb.ko
              insmod drivers/vhost/vhost.ko
              insmod drivers/vdpa/vdpa.ko
              insmod drivers/vhost/vhost_vdpa.ko
              insmod drivers/vdpa/virtio_pci/vp_vdpa.ko
      ```
      Run the following command to bind the VF to vp-vdpa:
      ```
              echo -n "1af4 1000" > /sys/bus/pci/drivers/vp-vdpa/new_id
              vdpa dev add name vdpa1 mgmtdev pci/0000:01:01.1
      ```
      Start qemu with the following parameter to enable generic VDPA device:
      ```
              -device vhost-vdpa-device-pci,vhostdev=/dev/vhost-vdpa-0
      ```
      Create a bridge on the host and add the VF to the bridge.
      Configure the guest network adapter and the port on the host bridge to be in the same network segment.  
      3. Expected results
      The guest NIC and the port on the host bridge can be pinged.  
      4. Actual results
      Meets expectations
       
       
      Link:https://gitee.com/openeuler/kernel/pulls/326 
      Reviewed-by: Kevin Zhu <zhukeqian1@huawei.com> 
      Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com> 
      306b4220
    • L
      Revert "ipvlan: Modify the value of ipvlan modes" · 1e0c4666
      Lu Wei 提交于
      hulk inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I62TLE
      CVE: NA
      
      --------------------------------
      
      This reverts commit 382ceac7.
      
      In order to make iproute compatible with other operation system like
      SUSE, rethad and etc, put IPVLAN_MODE_L2E last.
      Signed-off-by: NLu Wei <luwei32@huawei.com>
      Reviewed-by: NLiu Jian <liujian56@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      1e0c4666
    • E
      net/af_packet: make sure to pull mac header · 7b66176e
      Eric Dumazet 提交于
      mainline inclusion
      from mainline-v5.19-rc1
      commit e9d3f809
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I65V65
      CVE: NA
      
      Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e9d3f80935b6607dcdc5682b00b1d4b28e0a0c5d
      
      --------------------------------
      
      GSO assumes skb->head contains link layer headers.
      
      tun device in some case can provide base 14 bytes,
      regardless of VLAN being used or not.
      
      After blamed commit, we can end up setting a network
      header offset of 18+, we better pull the missing
      bytes to avoid a posible crash in GSO.
      
      syzbot report was:
      kernel BUG at include/linux/skbuff.h:2699!
      invalid opcode: 0000 [#1] PREEMPT SMP KASAN
      CPU: 1 PID: 3601 Comm: syz-executor210 Not tainted 5.18.0-syzkaller-11338-g2c5ca23f #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      RIP: 0010:__skb_pull include/linux/skbuff.h:2699 [inline]
      RIP: 0010:skb_mac_gso_segment+0x48f/0x530 net/core/gro.c:136
      Code: 00 48 c7 c7 00 96 d4 8a c6 05 cb d3 45 06 01 e8 26 bb d0 01 e9 2f fd ff ff 49 c7 c4 ea ff ff ff e9 f1 fe ff ff e8 91 84 19 fa <0f> 0b 48 89 df e8 97 44 66 fa e9 7f fd ff ff e8 ad 44 66 fa e9 48
      RSP: 0018:ffffc90002e2f4b8 EFLAGS: 00010293
      RAX: 0000000000000000 RBX: 0000000000000012 RCX: 0000000000000000
      RDX: ffff88805bb58000 RSI: ffffffff8760ed0f RDI: 0000000000000004
      RBP: 0000000000005dbc R08: 0000000000000004 R09: 0000000000000fe0
      R10: 0000000000000fe4 R11: 0000000000000000 R12: 0000000000000fe0
      R13: ffff88807194d780 R14: 1ffff920005c5e9b R15: 0000000000000012
      FS:  000055555730f300(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00000000200015c0 CR3: 0000000071ff8000 CR4: 0000000000350ee0
      Call Trace:
       <TASK>
       __skb_gso_segment+0x327/0x6e0 net/core/dev.c:3411
       skb_gso_segment include/linux/netdevice.h:4749 [inline]
       validate_xmit_skb+0x6bc/0xf10 net/core/dev.c:3669
       validate_xmit_skb_list+0xbc/0x120 net/core/dev.c:3719
       sch_direct_xmit+0x3d1/0xbe0 net/sched/sch_generic.c:327
       __dev_xmit_skb net/core/dev.c:3815 [inline]
       __dev_queue_xmit+0x14a1/0x3a00 net/core/dev.c:4219
       packet_snd net/packet/af_packet.c:3071 [inline]
       packet_sendmsg+0x21cb/0x5550 net/packet/af_packet.c:3102
       sock_sendmsg_nosec net/socket.c:714 [inline]
       sock_sendmsg+0xcf/0x120 net/socket.c:734
       ____sys_sendmsg+0x6eb/0x810 net/socket.c:2492
       ___sys_sendmsg+0xf3/0x170 net/socket.c:2546
       __sys_sendmsg net/socket.c:2575 [inline]
       __do_sys_sendmsg net/socket.c:2584 [inline]
       __se_sys_sendmsg net/socket.c:2582 [inline]
       __x64_sys_sendmsg+0x132/0x220 net/socket.c:2582
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x46/0xb0
      RIP: 0033:0x7f4b95da06c9
      Code: 28 c3 e8 4a 15 00 00 66 2e 0f 1f 84 00 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
      RSP: 002b:00007ffd7defc4c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      RAX: ffffffffffffffda RBX: 00007ffd7defc4f0 RCX: 00007f4b95da06c9
      RDX: 0000000000000000 RSI: 0000000020000140 RDI: 0000000000000003
      RBP: 0000000000000003 R08: bb1414ac00000050 R09: bb1414ac00000050
      R10: 0000000000000004 R11: 0000000000000246 R12: 0000000000000000
      R13: 00007ffd7defc4e0 R14: 00007ffd7defc4d8 R15: 00007ffd7defc4d4
       </TASK>
      
      Fixes: dfed913e ("net/af_packet: add VLAN support for AF_PACKET SOCK_RAW GSO")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: Nsyzbot <syzkaller@googlegroups.com>
      Acked-by: NHangbin Liu <liuhangbin@gmail.com>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      Signed-off-by: NBaisong Zhong <zhongbaisong@huawei.com>
      Reviewed-by: NYue Haibing <yuehaibing@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      7b66176e
    • Z
      KVM: arm64: Fix {fp_asimd,sve}_exit_stat manipulation · 8a53b72c
      Zenghui Yu 提交于
      virt inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I65EGT
      CVE: NA
      
      ----------------------------------------------------
      
      Currently fp_asimd_exit_stat is accumulated for *both* FP/ASIMD and SVE
      traps so that user can not distinguish between these two via debugfs.
      
      Fix the manipulation for both exception classes.
      Signed-off-by: NZenghui Yu <yuzenghui@huawei.com>
      Reviewed-by: NKeqian Zhu <zhukeqian1@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      8a53b72c
    • Z
      dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata · 6c79301e
      Zhihao Cheng 提交于
      mainline inclusion
      from mainline-next
      commit 8111964f
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I65I9A
      CVE: NA
      
      Reference: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/md?h=next-20221208&id=8111964f1b8524c4bb56b02cd9c7a37725ea21fd
      
      -------------------------------
      
      Following concurrent processes:
      
                P1(drop cache)                P2(kworker)
      drop_caches_sysctl_handler
       drop_slab
        shrink_slab
         down_read(&shrinker_rwsem)  - LOCK A
         do_shrink_slab
          super_cache_scan
           prune_icache_sb
            dispose_list
             evict
              ext4_evict_inode
      	 ext4_clear_inode
      	  ext4_discard_preallocations
      	   ext4_mb_load_buddy_gfp
      	    ext4_mb_init_cache
      	     ext4_read_block_bitmap_nowait
      	      ext4_read_bh_nowait
      	       submit_bh
      	        dm_submit_bio
      		                 do_worker
      				  process_deferred_bios
      				   commit
      				    metadata_operation_failed
      				     dm_pool_abort_metadata
      				      down_write(&pmd->root_lock) - LOCK B
      		                      __destroy_persistent_data_objects
      				       dm_block_manager_destroy
      				        dm_bufio_client_destroy
      				         unregister_shrinker
      					  down_write(&shrinker_rwsem)
      		 thin_map                            |
      		  dm_thin_find_block                 ↓
      		   down_read(&pmd->root_lock) --> ABBA deadlock
      
      , which triggers hung task:
      
      [   76.974820] INFO: task kworker/u4:3:63 blocked for more than 15 seconds.
      [   76.976019]       Not tainted 6.1.0-rc4-00011-g8f17dd350364-dirty #910
      [   76.978521] task:kworker/u4:3    state:D stack:0     pid:63    ppid:2
      [   76.978534] Workqueue: dm-thin do_worker
      [   76.978552] Call Trace:
      [   76.978564]  __schedule+0x6ba/0x10f0
      [   76.978582]  schedule+0x9d/0x1e0
      [   76.978588]  rwsem_down_write_slowpath+0x587/0xdf0
      [   76.978600]  down_write+0xec/0x110
      [   76.978607]  unregister_shrinker+0x2c/0xf0
      [   76.978616]  dm_bufio_client_destroy+0x116/0x3d0
      [   76.978625]  dm_block_manager_destroy+0x19/0x40
      [   76.978629]  __destroy_persistent_data_objects+0x5e/0x70
      [   76.978636]  dm_pool_abort_metadata+0x8e/0x100
      [   76.978643]  metadata_operation_failed+0x86/0x110
      [   76.978649]  commit+0x6a/0x230
      [   76.978655]  do_worker+0xc6e/0xd90
      [   76.978702]  process_one_work+0x269/0x630
      [   76.978714]  worker_thread+0x266/0x630
      [   76.978730]  kthread+0x151/0x1b0
      [   76.978772] INFO: task test.sh:2646 blocked for more than 15 seconds.
      [   76.979756]       Not tainted 6.1.0-rc4-00011-g8f17dd350364-dirty #910
      [   76.982111] task:test.sh         state:D stack:0     pid:2646  ppid:2459
      [   76.982128] Call Trace:
      [   76.982139]  __schedule+0x6ba/0x10f0
      [   76.982155]  schedule+0x9d/0x1e0
      [   76.982159]  rwsem_down_read_slowpath+0x4f4/0x910
      [   76.982173]  down_read+0x84/0x170
      [   76.982177]  dm_thin_find_block+0x4c/0xd0
      [   76.982183]  thin_map+0x201/0x3d0
      [   76.982188]  __map_bio+0x5b/0x350
      [   76.982195]  dm_submit_bio+0x2b6/0x930
      [   76.982202]  __submit_bio+0x123/0x2d0
      [   76.982209]  submit_bio_noacct_nocheck+0x101/0x3e0
      [   76.982222]  submit_bio_noacct+0x389/0x770
      [   76.982227]  submit_bio+0x50/0xc0
      [   76.982232]  submit_bh_wbc+0x15e/0x230
      [   76.982238]  submit_bh+0x14/0x20
      [   76.982241]  ext4_read_bh_nowait+0xc5/0x130
      [   76.982247]  ext4_read_block_bitmap_nowait+0x340/0xc60
      [   76.982254]  ext4_mb_init_cache+0x1ce/0xdc0
      [   76.982259]  ext4_mb_load_buddy_gfp+0x987/0xfa0
      [   76.982263]  ext4_discard_preallocations+0x45d/0x830
      [   76.982274]  ext4_clear_inode+0x48/0xf0
      [   76.982280]  ext4_evict_inode+0xcf/0xc70
      [   76.982285]  evict+0x119/0x2b0
      [   76.982290]  dispose_list+0x43/0xa0
      [   76.982294]  prune_icache_sb+0x64/0x90
      [   76.982298]  super_cache_scan+0x155/0x210
      [   76.982303]  do_shrink_slab+0x19e/0x4e0
      [   76.982310]  shrink_slab+0x2bd/0x450
      [   76.982317]  drop_slab+0xcc/0x1a0
      [   76.982323]  drop_caches_sysctl_handler+0xb7/0xe0
      [   76.982327]  proc_sys_call_handler+0x1bc/0x300
      [   76.982331]  proc_sys_write+0x17/0x20
      [   76.982334]  vfs_write+0x3d3/0x570
      [   76.982342]  ksys_write+0x73/0x160
      [   76.982347]  __x64_sys_write+0x1e/0x30
      [   76.982352]  do_syscall_64+0x35/0x80
      [   76.982357]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
      
      Function metadata_operation_failed() is called when operations failed
      on dm pool metadata, dm pool will destroy and recreate metadata. So,
      shrinker will be unregistered and registered, which could down write
      shrinker_rwsem under pmd_write_lock.
      
      Fix it by allocating dm_block_manager before locking pmd->root_lock
      and destroying old dm_block_manager after unlocking pmd->root_lock,
      then old dm_block_manager is replaced with new dm_block_manager under
      pmd->root_lock. So, shrinker register/unregister could be done without
      holding pmd->root_lock.
      
      Fetch a reproducer in [Link].
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=216676
      Fixes: e49e5829 ("dm thin: add read only and fail io modes")
      Signed-off-by: NZhihao Cheng <chengzhihao1@huawei.com>
      Reviewed-by: NZhang Yi <yi.zhang@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      6c79301e
    • R
      arm64: fix a concurrency issue in emulation_proc_handler() · 36e1d5c0
      ruanjinjie 提交于
      hulk inclusion
      category: bugfix
      bugzilla: https://gitee.com/src-openeuler/kernel/issues/I65RG3?from=project-issue
      CVE: NA
      
      -------------------------------
      
      In emulation_proc_handler(), read and write operations are performed on
      insn->current_mode. In the concurrency scenario, mutex only protects
      writing insn->current_mode, and not protects the read. Suppose there are
      two concurrent tasks, task1 updates insn->current_mode to INSN_EMULATE
      in the critical section, the prev_mode of task2 is still the old data
      INSN_UNDEF of insn->current_mode. As a result, two tasks call
      update_insn_emulation_mode twice with prev_mode = INSN_UNDEF and
      current_mode = INSN_EMULATE, then call register_emulation_hooks twice,
      resulting in a list_add double problem.
      
      Call trace:
       __list_add_valid+0xd8/0xe4
       register_undef_hook+0x94/0x13c
       update_insn_emulation_mode+0xd0/0x12c
       emulation_proc_handler+0xd8/0xf4
       proc_sys_call_handler+0x140/0x250
       proc_sys_write+0x1c/0x2c
       new_sync_write+0xec/0x18c
       vfs_write+0x214/0x2ac
       ksys_write+0x70/0xfc
       __arm64_sys_write+0x24/0x30
       el0_svc_common.constprop.0+0x7c/0x1bc
       do_el0_svc+0x2c/0x94
       el0_svc+0x20/0x30
       el0_sync_handler+0xb0/0xb4
       el0_sync+0x160/0x180
      
      Fixes: fcddf02a ("arm64: fix oops in concurrently setting insn_emulation sysctls")
      Signed-off-by: Nruanjinjie <ruanjinjie@huawei.com>
      Reviewed-by: NLiao Chang <liaochang1@huawei.com>
      Reviewed-by: NZhang Jianhua <chris.zjh@huawei.com>
      Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
      36e1d5c0
    • R
      vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove · f65f986c
      Rong Wang 提交于
      maillist inclusion
      category: bugfix
      
      Reference: https://lore.kernel.org/all/20221207120813.2837529-1-sunnanyong@huawei.com/
      
      --------------------------------
      
      In vp_vdpa_remove(), the code kfree(&vp_vdpa_mgtdev->mgtdev.id_table) uses
      a reference of pointer as the parameter of kfree, which is the wrong pointer
      and then may hit crash like this:
      
      Unable to handle kernel paging request at virtual address 00ffff003363e30c
      Internal error: Oops: 96000004 [#1] SMP
      Call trace:
       rb_next+0x20/0x5c
       ext4_readdir+0x494/0x5c4 [ext4]
       iterate_dir+0x168/0x1b4
       __se_sys_getdents64+0x68/0x170
       __arm64_sys_getdents64+0x24/0x30
       el0_svc_common.constprop.0+0x7c/0x1bc
       do_el0_svc+0x2c/0x94
       el0_svc+0x20/0x30
       el0_sync_handler+0xb0/0xb4
       el0_sync+0x160/0x180
      Code: 54000220 f9400441 b4000161 aa0103e0 (f9400821)
      SMP: stopping secondary CPUs
      Starting crashdump kernel...
      Signed-off-by: NRong Wang <wangrong68@huawei.com>
      Signed-off-by: NPengyuan Zhao <zhaopengyuan@hisilicon.com>
      f65f986c
    • A
      tools include UAPI: Sync linux/vhost.h with the kernel sources · 3450d57c
      Arnaldo Carvalho de Melo 提交于
      mainline inclusion
      from mainline-v6.0-rc2
      commit 898d2403
      category: feature
      bugzilla: https://gitee.com/openeuler/kernel/issues/I5WXCZ
      CVE: NA
      
      Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=898d24034605d2a0b16f6ca349d2e74124b5e043
      
      ----------------------------------------------------------------------
      
      To get the changes in:
      
        f345a014 ("vhost-vdpa: uAPI to suspend the device")
      
      Silencing this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/vhost.h' differs from latest version at 'include/uapi/linux/vhost.h'
        diff -u tools/include/uapi/linux/vhost.h include/uapi/linux/vhost.h
      
      To pick up these changes and support them:
      
        $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > before
        $ cp include/uapi/linux/vhost.h tools/include/uapi/linux/vhost.h
        $ tools/perf/trace/beauty/vhost_virtio_ioctl.sh > after
        $ diff -u before after
        --- before	2022-08-18 09:46:12.355958316 -0300
        +++ after	2022-08-18 09:46:19.701182822 -0300
        @@ -29,6 +29,7 @@
         	[0x75] = "VDPA_SET_VRING_ENABLE",
         	[0x77] = "VDPA_SET_CONFIG_CALL",
         	[0x7C] = "VDPA_SET_GROUP_ASID",
        +	[0x7D] = "VDPA_SUSPEND",
         };
         = {
         	[0x00] = "GET_FEATURES",
        $
      
      For instance, see how those 'cmd' ioctl arguments get translated, now
      VDPA_SUSPEND will be as well:
      
        # perf trace -a -e ioctl --max-events=10
             0.000 ( 0.011 ms): pipewire/2261 ioctl(fd: 60, cmd: SNDRV_PCM_HWSYNC, arg: 0x1)                        = 0
            21.353 ( 0.014 ms): pipewire/2261 ioctl(fd: 60, cmd: SNDRV_PCM_HWSYNC, arg: 0x1)                        = 0
            25.766 ( 0.014 ms): gnome-shell/2196 ioctl(fd: 14, cmd: DRM_I915_IRQ_WAIT, arg: 0x7ffe4a22c740)            = 0
            25.845 ( 0.034 ms): gnome-shel:cs0/2212 ioctl(fd: 14, cmd: DRM_I915_IRQ_EMIT, arg: 0x7fd43915dc70)            = 0
            25.916 ( 0.011 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_ADDFB2, arg: 0x7ffe4a22c8a0)               = 0
            25.941 ( 0.025 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_ATOMIC, arg: 0x7ffe4a22c840)               = 0
            32.915 ( 0.009 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_RMFB, arg: 0x7ffe4a22cf9c)                 = 0
            42.522 ( 0.013 ms): gnome-shell/2196 ioctl(fd: 14, cmd: DRM_I915_IRQ_WAIT, arg: 0x7ffe4a22c740)            = 0
            42.579 ( 0.031 ms): gnome-shel:cs0/2212 ioctl(fd: 14, cmd: DRM_I915_IRQ_EMIT, arg: 0x7fd43915dc70)            = 0
            42.644 ( 0.010 ms): gnome-shell/2196 ioctl(fd: 9, cmd: DRM_MODE_ADDFB2, arg: 0x7ffe4a22c8a0)               = 0
        #
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Eugenio Pérez <eperezma@redhat.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/lkml/Yv6Kb4OESuNJuH6X@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NPengyuan Zhao <zhaopengyuan@hisilicon.com>
      3450d57c