BUG REPORT: vfio_pci driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bug Description:

A bug in the vfio_pci driver was reported in junction with work on FPGA
cards. We were able to reproduce and root-cause the bug using system-tap.
The original bug description is below. An understanding of the referenced
dfl and opae tools is not required - it is the sequence of IOCTL calls and
IRQ vectors that matters:

> I’m trying to get an example AFU working that uses 2 IRQs, active at the same 
> time. I’m hitting what looks to be a dfl_pci driver bug.
>
> The code tries to allocate two IRQ vectors: 0 and 1. I see opaevfio.c doing the 
> right thing, picking the MSIX index. Allocating either IRQ 0 or IRQ 1 works fine 
> and I confirm that the VFIO_DEVICE_SET_IRQS looks reasonable, choosing MSIX and 
> either start of 0 or 1 and count 1.
>
> Note that opaevfio.c always passes count 1, so it will make separate calls for 
> each IRQ vector.
>
> When I try to allocate both, I see the following:
>
>   * If the VFIO_DEVICE_SET_IRQS ioctl is called first with start 0 and then
>     start 1 (always count 1), the start 1 (second) ioctl trap returns EINVAL.
>   * If I set up the vectors in decreasing order, so start 1 followed by start 0,
>     the program works!
>   * I ruled out OPAE SDK user space problems by setting up my program to
>     allocate in increasing order, which would normally fail. I changed only the
>     ioctl call in user space opaevfio.c, inverting bit 0 of start so that the
>     driver is called in decreasing index order. Of course this binds the wrong
>     vectors to the fds, but I don’t care about that for now. This works! From
>     this, I conclude that it can’t be a user space problem since the difference
>     between working and failing is solely the order in which IRQ vectors are
>     bound in ioctl calls.

The EINVAL is coming from vfio_msi_set_block() here:
https://github.com/torvalds/linux/blob/master/drivers/vfio/pci/vfio_pci_intrs.c#L373

vfio_msi_set_block() is being called from vfio_pci_set_msi_trigger() here on
the second IRQ request:
https://github.com/torvalds/linux/blob/master/drivers/vfio/pci/vfio_pci_intrs.c#L530

We believe the bug is in vfio_pci_set_msi_trigger(), in the 2nd parameter to the call
to vfio_msi_enable() here:
https://github.com/torvalds/linux/blob/master/drivers/vfio/pci/vfio_pci_intrs.c#L533

In both the passing and failing cases, the first IRQ request results in a call
to vfio_msi_enable() at line 533 and the second IRQ request results in the
call to vfio_msi_set_block() at line 530. It is during the first IRQ request
that vfio_msi_enable() sets vdev->num_ctx based on the 2nd parameter (nvec).
vdev->num_ctx is part of the conditional that results in the EINVAL for the
failing case.

In the passing case, vdev->num_ctx is 2. In the failing case, it is 1.

I am attaching two text files containing trace information from systemtap: one for
the failing case and one for the passing case. They contain a lot more information
than is needed, but if you search for vfio_pci_set_msi_trigger and vfio_msi_set_block,
you will see values for some of the call parameters.

- Russ

     0 irqtest(103848): -> vfio_pci_match
     8 irqtest(103848):  -> get_pf_vdev
    12 irqtest(103848):  <- get_pf_vdev
    13 irqtest(103848): <- vfio_pci_match
     0 irqtest(103848): -> vfio_pci_open
     4 irqtest(103848):  -> vfio_pci_set_power_state
     7 irqtest(103848):  <- vfio_pci_set_power_state
108747 irqtest(103848):  -> pci_restore_msi_state
108756 irqtest(103848):  <- pci_restore_msi_state
108806 irqtest(103848):  -> vfio_config_init
108814 irqtest(103848):   -> vfio_fill_vconfig_bytes
108842 irqtest(103848):   <- vfio_fill_vconfig_bytes
108853 irqtest(103848):   -> vfio_fill_vconfig_bytes
108861 irqtest(103848):   <- vfio_fill_vconfig_bytes
108869 irqtest(103848):   -> vfio_fill_vconfig_bytes
108891 irqtest(103848):   <- vfio_fill_vconfig_bytes
108896 irqtest(103848):   -> vfio_fill_vconfig_bytes
108902 irqtest(103848):   <- vfio_fill_vconfig_bytes
108906 irqtest(103848):  <- vfio_config_init
108914 irqtest(103848):  -> vfio_pci_vf_token_user_add
108920 irqtest(103848):   -> get_pf_vdev
108925 irqtest(103848):   <- get_pf_vdev
108929 irqtest(103848):  <- vfio_pci_vf_token_user_add
108934 irqtest(103848): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     7 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_read
     7 irqtest(103848):  -> vfio_pci_rw
    13 irqtest(103848):   -> vfio_pci_config_rw
    21 irqtest(103848):    -> vfio_basic_config_read
    27 irqtest(103848):     -> vfio_default_config_read
    34 irqtest(103848):      -> vfio_user_config_read
    42 irqtest(103848):      <- vfio_user_config_read
    46 irqtest(103848):     <- vfio_default_config_read
    51 irqtest(103848):    <- vfio_basic_config_read
    56 irqtest(103848):   <- vfio_pci_config_rw
    59 irqtest(103848):  <- vfio_pci_rw
    63 irqtest(103848): <- vfio_pci_read
     0 irqtest(103848): -> vfio_pci_write
    18 irqtest(103848):  -> vfio_pci_rw
    19 irqtest(103848):   -> vfio_pci_config_rw
    22 irqtest(103848):    -> vfio_basic_config_write
    27 irqtest(103848):     -> vfio_default_config_write
    29 irqtest(103848):      -> vfio_user_config_read
    31 irqtest(103848):      <- vfio_user_config_read
    33 irqtest(103848):      -> vfio_user_config_write
    36 irqtest(103848):      <- vfio_user_config_write
    37 irqtest(103848):     <- vfio_default_config_write
    39 irqtest(103848):    <- vfio_basic_config_write
    40 irqtest(103848):   <- vfio_pci_config_rw
    41 irqtest(103848):  <- vfio_pci_rw
    43 irqtest(103848): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     2 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_mmap
    32 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     2 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_mmap
     7 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     2 irqtest(103848):  -> vfio_pci_get_irq_count
     4 irqtest(103848):  <- vfio_pci_get_irq_count
     5 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     2 irqtest(103848):  <- vfio_pci_get_irq_count
     3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     2 irqtest(103848):  <- vfio_pci_get_irq_count
     3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     4 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_mmap_fault
     4 irqtest(103848):  -> __vfio_pci_memory_enabled
     6 irqtest(103848):  <- __vfio_pci_memory_enabled
     9 irqtest(103848): <- vfio_pci_mmap_fault
     0 irqtest(103848): -> vfio_pci_mmap_fault
     1 irqtest(103848):  -> __vfio_pci_memory_enabled
     2 irqtest(103848):  <- __vfio_pci_memory_enabled
     4 irqtest(103848): <- vfio_pci_mmap_fault
     0 irqtest(103848): -> vfio_pci_mmap_close
     2 irqtest(103848): <- vfio_pci_mmap_close
     0 irqtest(103848): -> vfio_pci_mmap_close
     1 irqtest(103848): <- vfio_pci_mmap_close
     0 irqtest(103848): -> vfio_pci_release
     2 irqtest(103848):  -> vfio_pci_vf_token_user_add
     3 irqtest(103848):   -> get_pf_vdev
     5 irqtest(103848):   <- get_pf_vdev
     6 irqtest(103848):  <- vfio_pci_vf_token_user_add
     9 irqtest(103848):  -> vfio_pci_set_irqs_ioctl
    12 irqtest(103848):  <- vfio_pci_set_irqs_ioctl
    14 irqtest(103848):  -> vfio_config_free
    16 irqtest(103848):  <- vfio_config_free
103469 irqtest(103848):  -> pci_restore_msi_state
103478 irqtest(103848):  <- pci_restore_msi_state
103490 irqtest(103848):  -> vfio_pci_walk_wrapper
103496 irqtest(103848):   -> vfio_pci_count_devs
103502 irqtest(103848):   <- vfio_pci_count_devs
103506 irqtest(103848):  <- vfio_pci_walk_wrapper
103510 irqtest(103848):  -> vfio_pci_walk_wrapper
103515 irqtest(103848):   -> vfio_pci_count_devs
103519 irqtest(103848):   <- vfio_pci_count_devs
103522 irqtest(103848):  <- vfio_pci_walk_wrapper
103526 irqtest(103848):  -> vfio_pci_walk_wrapper
103530 irqtest(103848):   -> vfio_pci_count_devs
103534 irqtest(103848):   <- vfio_pci_count_devs
103538 irqtest(103848):  <- vfio_pci_walk_wrapper
103541 irqtest(103848):  -> vfio_pci_walk_wrapper
103545 irqtest(103848):   -> vfio_pci_count_devs
103549 irqtest(103848):   <- vfio_pci_count_devs
103553 irqtest(103848):  <- vfio_pci_walk_wrapper
103558 irqtest(103848):  -> vfio_pci_walk_wrapper
103563 irqtest(103848):   -> vfio_pci_get_unused_devs
103570 irqtest(103848):   <- vfio_pci_get_unused_devs
103574 irqtest(103848):  <- vfio_pci_walk_wrapper
103579 irqtest(103848):  -> vfio_pci_set_power_state
103584 irqtest(103848):  <- vfio_pci_set_power_state
103588 irqtest(103848): <- vfio_pci_release
     0 irqtest(103848): -> vfio_pci_match
     2 irqtest(103848):  -> get_pf_vdev
     4 irqtest(103848):  <- get_pf_vdev
     5 irqtest(103848): <- vfio_pci_match
     0 irqtest(103848): -> vfio_pci_open
     1 irqtest(103848):  -> vfio_pci_set_power_state
     3 irqtest(103848):  <- vfio_pci_set_power_state
103601 irqtest(103848):  -> pci_restore_msi_state
103611 irqtest(103848):  <- pci_restore_msi_state
103658 irqtest(103848):  -> vfio_config_init
103665 irqtest(103848):   -> vfio_fill_vconfig_bytes
103693 irqtest(103848):   <- vfio_fill_vconfig_bytes
103703 irqtest(103848):   -> vfio_fill_vconfig_bytes
103711 irqtest(103848):   <- vfio_fill_vconfig_bytes
103719 irqtest(103848):   -> vfio_fill_vconfig_bytes
103741 irqtest(103848):   <- vfio_fill_vconfig_bytes
103746 irqtest(103848):   -> vfio_fill_vconfig_bytes
103752 irqtest(103848):   <- vfio_fill_vconfig_bytes
103756 irqtest(103848):  <- vfio_config_init
103764 irqtest(103848):  -> vfio_pci_vf_token_user_add
103769 irqtest(103848):   -> get_pf_vdev
103774 irqtest(103848):   <- get_pf_vdev
103778 irqtest(103848):  <- vfio_pci_vf_token_user_add
103782 irqtest(103848): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     6 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_read
     5 irqtest(103848):  -> vfio_pci_rw
    10 irqtest(103848):   -> vfio_pci_config_rw
    16 irqtest(103848):    -> vfio_basic_config_read
    21 irqtest(103848):     -> vfio_default_config_read
    27 irqtest(103848):      -> vfio_user_config_read
    33 irqtest(103848):      <- vfio_user_config_read
    37 irqtest(103848):     <- vfio_default_config_read
    42 irqtest(103848):    <- vfio_basic_config_read
    47 irqtest(103848):   <- vfio_pci_config_rw
    50 irqtest(103848):  <- vfio_pci_rw
    54 irqtest(103848): <- vfio_pci_read
     0 irqtest(103848): -> vfio_pci_write
     4 irqtest(103848):  -> vfio_pci_rw
     8 irqtest(103848):   -> vfio_pci_config_rw
    13 irqtest(103848):    -> vfio_basic_config_write
    21 irqtest(103848):     -> vfio_default_config_write
    26 irqtest(103848):      -> vfio_user_config_read
    31 irqtest(103848):      <- vfio_user_config_read
    36 irqtest(103848):      -> vfio_user_config_write
    42 irqtest(103848):      <- vfio_user_config_write
    47 irqtest(103848):     <- vfio_default_config_write
    51 irqtest(103848):    <- vfio_basic_config_write
    55 irqtest(103848):   <- vfio_pci_config_rw
    59 irqtest(103848):  <- vfio_pci_rw
    62 irqtest(103848): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
     0 irqtest(103848): -> vfio_pci_ioctl
     4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     4 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_mmap
    45 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_mmap
     6 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     2 irqtest(103848):  <- vfio_pci_get_irq_count
     3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     2 irqtest(103848):  <- vfio_pci_get_irq_count
     3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     4 irqtest(103848):  -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x5 0x2 0x1 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
    10 irqtest(103848):   -> vfio_pci_set_msi_trigger
    12 irqtest(103848):    -> vfio_pci_memory_lock_and_enable
    16 irqtest(103848):    <- vfio_pci_memory_lock_and_enable
    18 irqtest(103848):    -> pci_alloc_irq_vectors_affinity
    20 irqtest(103848):     -> __pci_enable_msix_range
    23 irqtest(103848):      -> pci_msi_supported
    25 irqtest(103848):      <- pci_msi_supported
    27 irqtest(103848):      -> pci_msix_vec_count
    30 irqtest(103848):      <- pci_msix_vec_count
    40 irqtest(103848):      -> pci_msix_vec_count
    42 irqtest(103848):      <- pci_msix_vec_count
    47 irqtest(103848):      -> pci_msi_setup_msi_irqs
    55 irqtest(103848):       -> pci_msi_domain_check_cap
    57 irqtest(103848):       <- pci_msi_domain_check_cap
    60 irqtest(103848):       -> pci_msi_domain_calc_hwirq
    62 irqtest(103848):       <- pci_msi_domain_calc_hwirq
   139 irqtest(103848):       -> pci_msi_domain_calc_hwirq
   140 irqtest(103848):       <- pci_msi_domain_calc_hwirq
   181 irqtest(103848):       -> pci_msi_domain_write_msg
   183 irqtest(103848):        -> __pci_write_msi_msg
   185 irqtest(103848):        <- __pci_write_msi_msg
   187 irqtest(103848):       <- pci_msi_domain_write_msg
   195 irqtest(103848):       -> pci_msi_domain_write_msg
   196 irqtest(103848):        -> __pci_write_msi_msg
   197 irqtest(103848):        <- __pci_write_msi_msg
   198 irqtest(103848):       <- pci_msi_domain_write_msg
   204 irqtest(103848):      <- pci_msi_setup_msi_irqs
   206 irqtest(103848):      -> msi_verify_entries
   208 irqtest(103848):      <- msi_verify_entries
   212 irqtest(103848):      -> __pci_msix_desc_mask_irq
   214 irqtest(103848):      <- __pci_msix_desc_mask_irq
   216 irqtest(103848):      -> __pci_msix_desc_mask_irq
   217 irqtest(103848):      <- __pci_msix_desc_mask_irq
   218 irqtest(103848):      -> populate_msi_sysfs
   223 irqtest(103848):      <- populate_msi_sysfs
   228 irqtest(103848):     <- __pci_enable_msix_range
   229 irqtest(103848):    <- pci_alloc_irq_vectors_affinity
   231 irqtest(103848):    -> vfio_pci_memory_unlock_and_restore
   234 irqtest(103848):    <- vfio_pci_memory_unlock_and_restore
vfio_msi_set_block: start: count: 0x1, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x2
   237 irqtest(103848):    -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 1 / 7
   241 irqtest(103848):     -> vfio_msi_set_vector_signal
   244 irqtest(103848):      -> pci_irq_vector
   246 irqtest(103848):      <- pci_irq_vector
   248 irqtest(103848):      -> vfio_pci_memory_lock_and_enable
   251 irqtest(103848):      <- vfio_pci_memory_lock_and_enable
   256 irqtest(103848):      -> pci_write_msi_msg
   259 irqtest(103848):       -> __pci_write_msi_msg
   261 irqtest(103848):       <- __pci_write_msi_msg
   262 irqtest(103848):      <- pci_write_msi_msg
   280 irqtest(103848):      -> pci_msi_domain_write_msg
   281 irqtest(103848):       -> __pci_write_msi_msg
   282 irqtest(103848):       <- __pci_write_msi_msg
   283 irqtest(103848):      <- pci_msi_domain_write_msg
   289 irqtest(103848):      -> pci_msi_unmask_irq
   292 irqtest(103848):       -> msi_set_mask_bit
   293 irqtest(103848):        -> __pci_msix_desc_mask_irq
   295 irqtest(103848):        <- __pci_msix_desc_mask_irq
   297 irqtest(103848):       <- msi_set_mask_bit
   298 irqtest(103848):      <- pci_msi_unmask_irq
   323 irqtest(103848):      -> vfio_pci_memory_unlock_and_restore
   325 irqtest(103848):      <- vfio_pci_memory_unlock_and_restore
   327 irqtest(103848):     <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
   330 irqtest(103848):    <- vfio_msi_set_block
   331 irqtest(103848):   <- vfio_pci_set_msi_trigger
   332 irqtest(103848):  <- vfio_pci_set_irqs_ioctl
   334 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
     0 irqtest(103848): -> vfio_pci_ioctl
     1 irqtest(103848):  -> vfio_pci_get_irq_count
     3 irqtest(103848):  <- vfio_pci_get_irq_count
     5 irqtest(103848):  -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x0 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
     7 irqtest(103848):   -> vfio_pci_set_msi_trigger
vfio_msi_set_block: start: count: 0x0, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x2
     9 irqtest(103848):    -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / 8
    11 irqtest(103848):     -> vfio_msi_set_vector_signal
    13 irqtest(103848):      -> pci_irq_vector
    14 irqtest(103848):      <- pci_irq_vector
    15 irqtest(103848):      -> vfio_pci_memory_lock_and_enable
    18 irqtest(103848):      <- vfio_pci_memory_lock_and_enable
    21 irqtest(103848):      -> pci_write_msi_msg
    23 irqtest(103848):       -> __pci_write_msi_msg
    24 irqtest(103848):       <- __pci_write_msi_msg
    25 irqtest(103848):      <- pci_write_msi_msg
    34 irqtest(103848):      -> pci_msi_domain_write_msg
    35 irqtest(103848):       -> __pci_write_msi_msg
    36 irqtest(103848):       <- __pci_write_msi_msg
    37 irqtest(103848):      <- pci_msi_domain_write_msg
    40 irqtest(103848):      -> pci_msi_unmask_irq
    41 irqtest(103848):       -> msi_set_mask_bit
    42 irqtest(103848):        -> __pci_msix_desc_mask_irq
    43 irqtest(103848):        <- __pci_msix_desc_mask_irq
    45 irqtest(103848):       <- msi_set_mask_bit
    46 irqtest(103848):      <- pci_msi_unmask_irq
    62 irqtest(103848):      -> vfio_pci_memory_unlock_and_restore
    64 irqtest(103848):      <- vfio_pci_memory_unlock_and_restore
    66 irqtest(103848):     <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
    67 irqtest(103848):    <- vfio_msi_set_block
    68 irqtest(103848):   <- vfio_pci_set_msi_trigger
    69 irqtest(103848):  <- vfio_pci_set_irqs_ioctl
    70 irqtest(103848): <- vfio_pci_ioctl
     0 irqtest(103848): -> vfio_pci_mmap_close
     1 irqtest(103848): <- vfio_pci_mmap_close
     0 irqtest(103848): -> vfio_pci_mmap_close
     1 irqtest(103848): <- vfio_pci_mmap_close
     0 irqtest(103848): -> vfio_pci_release
     1 irqtest(103848):  -> vfio_pci_vf_token_user_add
     3 irqtest(103848):   -> get_pf_vdev
     4 irqtest(103848):   <- get_pf_vdev
     5 irqtest(103848):  <- vfio_pci_vf_token_user_add
     8 irqtest(103848):  -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x0 0x21
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
    11 irqtest(103848):   -> vfio_pci_set_msi_trigger
    14 irqtest(103848):    -> vfio_msi_disable
vfio_msi_set_block: start: count: 0x0, 0x2
vfio_msi_set_block: vdev->num_ctx: 0x2
    18 irqtest(103848):     -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / -1
    20 irqtest(103848):      -> vfio_msi_set_vector_signal
    21 irqtest(103848):       -> pci_irq_vector
    22 irqtest(103848):       <- pci_irq_vector
    24 irqtest(103848):       -> vfio_pci_memory_lock_and_enable
    26 irqtest(103848):       <- vfio_pci_memory_lock_and_enable
    36 irqtest(103848):       -> pci_msi_mask_irq
    38 irqtest(103848):        -> msi_set_mask_bit
    39 irqtest(103848):         -> __pci_msix_desc_mask_irq
    41 irqtest(103848):         <- __pci_msix_desc_mask_irq
    43 irqtest(103848):        <- msi_set_mask_bit
    44 irqtest(103848):       <- pci_msi_mask_irq
    55 irqtest(103848):       -> pci_msi_domain_write_msg
    56 irqtest(103848):        -> __pci_write_msi_msg
    58 irqtest(103848):        <- __pci_write_msi_msg
    58 irqtest(103848):       <- pci_msi_domain_write_msg
    68 irqtest(103848):       -> vfio_pci_memory_unlock_and_restore
    70 irqtest(103848):       <- vfio_pci_memory_unlock_and_restore
    72 irqtest(103848):      <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
vfio_msi_set_vector_signal was called: 1 / -1
    74 irqtest(103848):      -> vfio_msi_set_vector_signal
    75 irqtest(103848):       -> pci_irq_vector
    76 irqtest(103848):       <- pci_irq_vector
    77 irqtest(103848):       -> vfio_pci_memory_lock_and_enable
    80 irqtest(103848):       <- vfio_pci_memory_lock_and_enable
    84 irqtest(103848):       -> pci_msi_mask_irq
    85 irqtest(103848):        -> msi_set_mask_bit
    86 irqtest(103848):         -> __pci_msix_desc_mask_irq
    87 irqtest(103848):         <- __pci_msix_desc_mask_irq
    89 irqtest(103848):        <- msi_set_mask_bit
    90 irqtest(103848):       <- pci_msi_mask_irq
    94 irqtest(103848):       -> pci_msi_domain_write_msg
    95 irqtest(103848):        -> __pci_write_msi_msg
    96 irqtest(103848):        <- __pci_write_msi_msg
    97 irqtest(103848):       <- pci_msi_domain_write_msg
   102 irqtest(103848):       -> vfio_pci_memory_unlock_and_restore
   104 irqtest(103848):       <- vfio_pci_memory_unlock_and_restore
   105 irqtest(103848):      <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
   106 irqtest(103848):     <- vfio_msi_set_block
   107 irqtest(103848):     -> vfio_pci_memory_lock_and_enable
   110 irqtest(103848):     <- vfio_pci_memory_lock_and_enable
   112 irqtest(103848):     -> pci_free_irq_vectors
   114 irqtest(103848):      -> pci_disable_msix
   119 irqtest(103848):       -> free_msi_irqs
   123 irqtest(103848):        -> default_teardown_msi_irqs
   210 irqtest(103848):        <- default_teardown_msi_irqs
   218 irqtest(103848):       <- free_msi_irqs
   219 irqtest(103848):      <- pci_disable_msix
   220 irqtest(103848):      -> pci_disable_msi
   222 irqtest(103848):      <- pci_disable_msi
   223 irqtest(103848):     <- pci_free_irq_vectors
   224 irqtest(103848):     -> vfio_pci_memory_unlock_and_restore
   226 irqtest(103848):     <- vfio_pci_memory_unlock_and_restore
   227 irqtest(103848):    <- vfio_msi_disable
   228 irqtest(103848):   <- vfio_pci_set_msi_trigger
   229 irqtest(103848):  <- vfio_pci_set_irqs_ioctl
   231 irqtest(103848):  -> vfio_config_free
   232 irqtest(103848):  <- vfio_config_free
103062 irqtest(103848):  -> pci_restore_msi_state
103071 irqtest(103848):  <- pci_restore_msi_state
103082 irqtest(103848):  -> vfio_pci_walk_wrapper
103087 irqtest(103848):   -> vfio_pci_count_devs
103092 irqtest(103848):   <- vfio_pci_count_devs
103096 irqtest(103848):  <- vfio_pci_walk_wrapper
103100 irqtest(103848):  -> vfio_pci_walk_wrapper
103105 irqtest(103848):   -> vfio_pci_count_devs
103108 irqtest(103848):   <- vfio_pci_count_devs
103112 irqtest(103848):  <- vfio_pci_walk_wrapper
103116 irqtest(103848):  -> vfio_pci_walk_wrapper
103120 irqtest(103848):   -> vfio_pci_count_devs
103124 irqtest(103848):   <- vfio_pci_count_devs
103128 irqtest(103848):  <- vfio_pci_walk_wrapper
103132 irqtest(103848):  -> vfio_pci_walk_wrapper
103136 irqtest(103848):   -> vfio_pci_count_devs
103139 irqtest(103848):   <- vfio_pci_count_devs
103143 irqtest(103848):  <- vfio_pci_walk_wrapper
103147 irqtest(103848):  -> vfio_pci_walk_wrapper
103152 irqtest(103848):   -> vfio_pci_get_unused_devs
103157 irqtest(103848):   <- vfio_pci_get_unused_devs
103161 irqtest(103848):  <- vfio_pci_walk_wrapper
103167 irqtest(103848):  -> vfio_pci_set_power_state
103171 irqtest(103848):  <- vfio_pci_set_power_state
103176 irqtest(103848): <- vfio_pci_release
     0 irqtest(103741): -> vfio_pci_match
     5 irqtest(103741):  -> get_pf_vdev
     8 irqtest(103741):  <- get_pf_vdev
     9 irqtest(103741): <- vfio_pci_match
     0 irqtest(103741): -> vfio_pci_open
     2 irqtest(103741):  -> vfio_pci_set_power_state
     4 irqtest(103741):  <- vfio_pci_set_power_state
102476 irqtest(103741):  -> pci_restore_msi_state
102479 irqtest(103741):  <- pci_restore_msi_state
102506 irqtest(103741):  -> vfio_config_init
102509 irqtest(103741):   -> vfio_fill_vconfig_bytes
102523 irqtest(103741):   <- vfio_fill_vconfig_bytes
102528 irqtest(103741):   -> vfio_fill_vconfig_bytes
102531 irqtest(103741):   <- vfio_fill_vconfig_bytes
102535 irqtest(103741):   -> vfio_fill_vconfig_bytes
102546 irqtest(103741):   <- vfio_fill_vconfig_bytes
102548 irqtest(103741):   -> vfio_fill_vconfig_bytes
102551 irqtest(103741):   <- vfio_fill_vconfig_bytes
102552 irqtest(103741):  <- vfio_config_init
102555 irqtest(103741):  -> vfio_pci_vf_token_user_add
102557 irqtest(103741):   -> get_pf_vdev
102559 irqtest(103741):   <- get_pf_vdev
102560 irqtest(103741):  <- vfio_pci_vf_token_user_add
102561 irqtest(103741): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     2 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_read
     2 irqtest(103741):  -> vfio_pci_rw
     4 irqtest(103741):   -> vfio_pci_config_rw
     7 irqtest(103741):    -> vfio_basic_config_read
     8 irqtest(103741):     -> vfio_default_config_read
    11 irqtest(103741):      -> vfio_user_config_read
    14 irqtest(103741):      <- vfio_user_config_read
    15 irqtest(103741):     <- vfio_default_config_read
    16 irqtest(103741):    <- vfio_basic_config_read
    18 irqtest(103741):   <- vfio_pci_config_rw
    19 irqtest(103741):  <- vfio_pci_rw
    20 irqtest(103741): <- vfio_pci_read
     0 irqtest(103741): -> vfio_pci_write
     2 irqtest(103741):  -> vfio_pci_rw
     3 irqtest(103741):   -> vfio_pci_config_rw
     5 irqtest(103741):    -> vfio_basic_config_write
     8 irqtest(103741):     -> vfio_default_config_write
     9 irqtest(103741):      -> vfio_user_config_read
    11 irqtest(103741):      <- vfio_user_config_read
    13 irqtest(103741):      -> vfio_user_config_write
    15 irqtest(103741):      <- vfio_user_config_write
    16 irqtest(103741):     <- vfio_default_config_write
    18 irqtest(103741):    <- vfio_basic_config_write
    19 irqtest(103741):   <- vfio_pci_config_rw
    20 irqtest(103741):  <- vfio_pci_rw
    21 irqtest(103741): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     2 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_mmap
    34 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     2 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_mmap
     8 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     3 irqtest(103741):  <- vfio_pci_get_irq_count
     4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     2 irqtest(103741):  <- vfio_pci_get_irq_count
     3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     3 irqtest(103741):  <- vfio_pci_get_irq_count
     4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     2 irqtest(103741):  <- vfio_pci_get_irq_count
     3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     2 irqtest(103741):  <- vfio_pci_get_irq_count
     3 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_mmap_fault
     3 irqtest(103741):  -> __vfio_pci_memory_enabled
     4 irqtest(103741):  <- __vfio_pci_memory_enabled
     7 irqtest(103741): <- vfio_pci_mmap_fault
     0 irqtest(103741): -> vfio_pci_mmap_fault
     1 irqtest(103741):  -> __vfio_pci_memory_enabled
     2 irqtest(103741):  <- __vfio_pci_memory_enabled
     4 irqtest(103741): <- vfio_pci_mmap_fault
     0 irqtest(103741): -> vfio_pci_mmap_close
     2 irqtest(103741): <- vfio_pci_mmap_close
     0 irqtest(103741): -> vfio_pci_mmap_close
     1 irqtest(103741): <- vfio_pci_mmap_close
     0 irqtest(103741): -> vfio_pci_release
     1 irqtest(103741):  -> vfio_pci_vf_token_user_add
     3 irqtest(103741):   -> get_pf_vdev
     4 irqtest(103741):   <- get_pf_vdev
     5 irqtest(103741):  <- vfio_pci_vf_token_user_add
     8 irqtest(103741):  -> vfio_pci_set_irqs_ioctl
    10 irqtest(103741):  <- vfio_pci_set_irqs_ioctl
    12 irqtest(103741):  -> vfio_config_free
    13 irqtest(103741):  <- vfio_config_free
103705 irqtest(103741):  -> pci_restore_msi_state
103714 irqtest(103741):  <- pci_restore_msi_state
103725 irqtest(103741):  -> vfio_pci_walk_wrapper
103731 irqtest(103741):   -> vfio_pci_count_devs
103736 irqtest(103741):   <- vfio_pci_count_devs
103741 irqtest(103741):  <- vfio_pci_walk_wrapper
103758 irqtest(103741):  -> vfio_pci_walk_wrapper
103759 irqtest(103741):   -> vfio_pci_count_devs
103760 irqtest(103741):   <- vfio_pci_count_devs
103761 irqtest(103741):  <- vfio_pci_walk_wrapper
103762 irqtest(103741):  -> vfio_pci_walk_wrapper
103763 irqtest(103741):   -> vfio_pci_count_devs
103765 irqtest(103741):   <- vfio_pci_count_devs
103766 irqtest(103741):  <- vfio_pci_walk_wrapper
103767 irqtest(103741):  -> vfio_pci_walk_wrapper
103768 irqtest(103741):   -> vfio_pci_count_devs
103769 irqtest(103741):   <- vfio_pci_count_devs
103770 irqtest(103741):  <- vfio_pci_walk_wrapper
103771 irqtest(103741):  -> vfio_pci_walk_wrapper
103773 irqtest(103741):   -> vfio_pci_get_unused_devs
103775 irqtest(103741):   <- vfio_pci_get_unused_devs
103776 irqtest(103741):  <- vfio_pci_walk_wrapper
103778 irqtest(103741):  -> vfio_pci_set_power_state
103779 irqtest(103741):  <- vfio_pci_set_power_state
103780 irqtest(103741): <- vfio_pci_release
     0 irqtest(103741): -> vfio_pci_match
     3 irqtest(103741):  -> get_pf_vdev
     4 irqtest(103741):  <- get_pf_vdev
     5 irqtest(103741): <- vfio_pci_match
     0 irqtest(103741): -> vfio_pci_open
     1 irqtest(103741):  -> vfio_pci_set_power_state
     3 irqtest(103741):  <- vfio_pci_set_power_state
103732 irqtest(103741):  -> pci_restore_msi_state
103741 irqtest(103741):  <- pci_restore_msi_state
103789 irqtest(103741):  -> vfio_config_init
103795 irqtest(103741):   -> vfio_fill_vconfig_bytes
103822 irqtest(103741):   <- vfio_fill_vconfig_bytes
103832 irqtest(103741):   -> vfio_fill_vconfig_bytes
103841 irqtest(103741):   <- vfio_fill_vconfig_bytes
103848 irqtest(103741):   -> vfio_fill_vconfig_bytes
103870 irqtest(103741):   <- vfio_fill_vconfig_bytes
103875 irqtest(103741):   -> vfio_fill_vconfig_bytes
103881 irqtest(103741):   <- vfio_fill_vconfig_bytes
103885 irqtest(103741):  <- vfio_config_init
103892 irqtest(103741):  -> vfio_pci_vf_token_user_add
103897 irqtest(103741):   -> get_pf_vdev
103903 irqtest(103741):   <- get_pf_vdev
103918 irqtest(103741):  <- vfio_pci_vf_token_user_add
103919 irqtest(103741): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     2 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_read
     1 irqtest(103741):  -> vfio_pci_rw
     3 irqtest(103741):   -> vfio_pci_config_rw
     5 irqtest(103741):    -> vfio_basic_config_read
     6 irqtest(103741):     -> vfio_default_config_read
     8 irqtest(103741):      -> vfio_user_config_read
    10 irqtest(103741):      <- vfio_user_config_read
    12 irqtest(103741):     <- vfio_default_config_read
    13 irqtest(103741):    <- vfio_basic_config_read
    14 irqtest(103741):   <- vfio_pci_config_rw
    15 irqtest(103741):  <- vfio_pci_rw
    16 irqtest(103741): <- vfio_pci_read
     0 irqtest(103741): -> vfio_pci_write
     1 irqtest(103741):  -> vfio_pci_rw
     2 irqtest(103741):   -> vfio_pci_config_rw
     3 irqtest(103741):    -> vfio_basic_config_write
     6 irqtest(103741):     -> vfio_default_config_write
     8 irqtest(103741):      -> vfio_user_config_read
    10 irqtest(103741):      <- vfio_user_config_read
    11 irqtest(103741):      -> vfio_user_config_write
    13 irqtest(103741):      <- vfio_user_config_write
    14 irqtest(103741):     <- vfio_default_config_write
    16 irqtest(103741):    <- vfio_basic_config_write
    17 irqtest(103741):   <- vfio_pci_config_rw
    18 irqtest(103741):  <- vfio_pci_rw
    19 irqtest(103741): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_mmap
    16 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     2 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_mmap
     8 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     2 irqtest(103741):  -> vfio_pci_get_irq_count
     3 irqtest(103741):  <- vfio_pci_get_irq_count
     4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     2 irqtest(103741):  <- vfio_pci_get_irq_count
     3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     3 irqtest(103741):  <- vfio_pci_get_irq_count
     4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     2 irqtest(103741):  <- vfio_pci_get_irq_count
     3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     2 irqtest(103741):  <- vfio_pci_get_irq_count
     3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     3 irqtest(103741):  <- vfio_pci_get_irq_count
     5 irqtest(103741):  -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x5 0x2 0x0 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
     8 irqtest(103741):   -> vfio_pci_set_msi_trigger
    10 irqtest(103741):    -> vfio_pci_memory_lock_and_enable
    13 irqtest(103741):    <- vfio_pci_memory_lock_and_enable
    15 irqtest(103741):    -> pci_alloc_irq_vectors_affinity
    16 irqtest(103741):     -> __pci_enable_msix_range
    18 irqtest(103741):      -> pci_msi_supported
    20 irqtest(103741):      <- pci_msi_supported
    21 irqtest(103741):      -> pci_msix_vec_count
    23 irqtest(103741):      <- pci_msix_vec_count
    33 irqtest(103741):      -> pci_msix_vec_count
    35 irqtest(103741):      <- pci_msix_vec_count
    38 irqtest(103741):      -> pci_msi_setup_msi_irqs
    43 irqtest(103741):       -> pci_msi_domain_check_cap
    44 irqtest(103741):       <- pci_msi_domain_check_cap
    46 irqtest(103741):       -> pci_msi_domain_calc_hwirq
    48 irqtest(103741):       <- pci_msi_domain_calc_hwirq
   109 irqtest(103741):       -> pci_msi_domain_write_msg
   111 irqtest(103741):        -> __pci_write_msi_msg
   113 irqtest(103741):        <- __pci_write_msi_msg
   114 irqtest(103741):       <- pci_msi_domain_write_msg
   118 irqtest(103741):      <- pci_msi_setup_msi_irqs
   119 irqtest(103741):      -> msi_verify_entries
   120 irqtest(103741):      <- msi_verify_entries
   124 irqtest(103741):      -> __pci_msix_desc_mask_irq
   125 irqtest(103741):      <- __pci_msix_desc_mask_irq
   127 irqtest(103741):      -> populate_msi_sysfs
   132 irqtest(103741):      <- populate_msi_sysfs
   136 irqtest(103741):     <- __pci_enable_msix_range
   137 irqtest(103741):    <- pci_alloc_irq_vectors_affinity
   139 irqtest(103741):    -> vfio_pci_memory_unlock_and_restore
   141 irqtest(103741):    <- vfio_pci_memory_unlock_and_restore
vfio_msi_set_block: start: count: 0x0, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x1
   144 irqtest(103741):    -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / 7
   147 irqtest(103741):     -> vfio_msi_set_vector_signal
   149 irqtest(103741):      -> pci_irq_vector
   150 irqtest(103741):      <- pci_irq_vector
   153 irqtest(103741):      -> vfio_pci_memory_lock_and_enable
   156 irqtest(103741):      <- vfio_pci_memory_lock_and_enable
   159 irqtest(103741):      -> pci_write_msi_msg
   162 irqtest(103741):       -> __pci_write_msi_msg
   163 irqtest(103741):       <- __pci_write_msi_msg
   164 irqtest(103741):      <- pci_write_msi_msg
   178 irqtest(103741):      -> pci_msi_domain_write_msg
   179 irqtest(103741):       -> __pci_write_msi_msg
   180 irqtest(103741):       <- __pci_write_msi_msg
   181 irqtest(103741):      <- pci_msi_domain_write_msg
   186 irqtest(103741):      -> pci_msi_unmask_irq
   187 irqtest(103741):       -> msi_set_mask_bit
   188 irqtest(103741):        -> __pci_msix_desc_mask_irq
   190 irqtest(103741):        <- __pci_msix_desc_mask_irq
   192 irqtest(103741):       <- msi_set_mask_bit
   193 irqtest(103741):      <- pci_msi_unmask_irq
   213 irqtest(103741):      -> vfio_pci_memory_unlock_and_restore
   216 irqtest(103741):      <- vfio_pci_memory_unlock_and_restore
   217 irqtest(103741):     <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
   219 irqtest(103741):    <- vfio_msi_set_block
   221 irqtest(103741):   <- vfio_pci_set_msi_trigger
   222 irqtest(103741):  <- vfio_pci_set_irqs_ioctl
   223 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
     0 irqtest(103741): -> vfio_pci_ioctl
     1 irqtest(103741):  -> vfio_pci_get_irq_count
     3 irqtest(103741):  <- vfio_pci_get_irq_count
     5 irqtest(103741):  -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x1 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
     7 irqtest(103741):   -> vfio_pci_set_msi_trigger
vfio_msi_set_block: start: count: 0x1, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x1
     9 irqtest(103741):    -> vfio_msi_set_block
    11 irqtest(103741):    <- vfio_msi_set_block
    12 irqtest(103741):   <- vfio_pci_set_msi_trigger
    13 irqtest(103741):  <- vfio_pci_set_irqs_ioctl
    14 irqtest(103741): <- vfio_pci_ioctl
     0 irqtest(103741): -> vfio_pci_mmap_close
     2 irqtest(103741): <- vfio_pci_mmap_close
     0 irqtest(103741): -> vfio_pci_mmap_close
     2 irqtest(103741): <- vfio_pci_mmap_close
     0 irqtest(103741): -> vfio_pci_release
     2 irqtest(103741):  -> vfio_pci_vf_token_user_add
     3 irqtest(103741):   -> get_pf_vdev
     5 irqtest(103741):   <- get_pf_vdev
     6 irqtest(103741):  <- vfio_pci_vf_token_user_add
     9 irqtest(103741):  -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x0 0x21
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
    12 irqtest(103741):   -> vfio_pci_set_msi_trigger
    14 irqtest(103741):    -> vfio_msi_disable
vfio_msi_set_block: start: count: 0x0, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x1
    20 irqtest(103741):     -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / -1
    22 irqtest(103741):      -> vfio_msi_set_vector_signal
    24 irqtest(103741):       -> pci_irq_vector
    25 irqtest(103741):       <- pci_irq_vector
    26 irqtest(103741):       -> vfio_pci_memory_lock_and_enable
    30 irqtest(103741):       <- vfio_pci_memory_lock_and_enable
    37 irqtest(103741):       -> pci_msi_mask_irq
    39 irqtest(103741):        -> msi_set_mask_bit
    40 irqtest(103741):         -> __pci_msix_desc_mask_irq
    41 irqtest(103741):         <- __pci_msix_desc_mask_irq
    43 irqtest(103741):        <- msi_set_mask_bit
    44 irqtest(103741):       <- pci_msi_mask_irq
    53 irqtest(103741):       -> pci_msi_domain_write_msg
    54 irqtest(103741):        -> __pci_write_msi_msg
    56 irqtest(103741):        <- __pci_write_msi_msg
    57 irqtest(103741):       <- pci_msi_domain_write_msg
    65 irqtest(103741):       -> vfio_pci_memory_unlock_and_restore
    67 irqtest(103741):       <- vfio_pci_memory_unlock_and_restore
    68 irqtest(103741):      <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
    77 irqtest(103741):     <- vfio_msi_set_block
    78 irqtest(103741):     -> vfio_pci_memory_lock_and_enable
    81 irqtest(103741):     <- vfio_pci_memory_lock_and_enable
    83 irqtest(103741):     -> pci_free_irq_vectors
    84 irqtest(103741):      -> pci_disable_msix
    88 irqtest(103741):       -> free_msi_irqs
    91 irqtest(103741):        -> default_teardown_msi_irqs
   139 irqtest(103741):        <- default_teardown_msi_irqs
   145 irqtest(103741):       <- free_msi_irqs
   146 irqtest(103741):      <- pci_disable_msix
   148 irqtest(103741):      -> pci_disable_msi
   149 irqtest(103741):      <- pci_disable_msi
   150 irqtest(103741):     <- pci_free_irq_vectors
   151 irqtest(103741):     -> vfio_pci_memory_unlock_and_restore
   154 irqtest(103741):     <- vfio_pci_memory_unlock_and_restore
   155 irqtest(103741):    <- vfio_msi_disable
   156 irqtest(103741):   <- vfio_pci_set_msi_trigger
   158 irqtest(103741):  <- vfio_pci_set_irqs_ioctl
   159 irqtest(103741):  -> vfio_config_free
   160 irqtest(103741):  <- vfio_config_free
103190 irqtest(103741):  -> pci_restore_msi_state
103199 irqtest(103741):  <- pci_restore_msi_state
103210 irqtest(103741):  -> vfio_pci_walk_wrapper
103215 irqtest(103741):   -> vfio_pci_count_devs
103220 irqtest(103741):   <- vfio_pci_count_devs
103224 irqtest(103741):  <- vfio_pci_walk_wrapper
103228 irqtest(103741):  -> vfio_pci_walk_wrapper
103232 irqtest(103741):   -> vfio_pci_count_devs
103236 irqtest(103741):   <- vfio_pci_count_devs
103240 irqtest(103741):  <- vfio_pci_walk_wrapper
103243 irqtest(103741):  -> vfio_pci_walk_wrapper
103247 irqtest(103741):   -> vfio_pci_count_devs
103251 irqtest(103741):   <- vfio_pci_count_devs
103255 irqtest(103741):  <- vfio_pci_walk_wrapper
103258 irqtest(103741):  -> vfio_pci_walk_wrapper
103262 irqtest(103741):   -> vfio_pci_count_devs
103266 irqtest(103741):   <- vfio_pci_count_devs
103269 irqtest(103741):  <- vfio_pci_walk_wrapper
103274 irqtest(103741):  -> vfio_pci_walk_wrapper
103278 irqtest(103741):   -> vfio_pci_get_unused_devs
103284 irqtest(103741):   <- vfio_pci_get_unused_devs
103288 irqtest(103741):  <- vfio_pci_walk_wrapper
103293 irqtest(103741):  -> vfio_pci_set_power_state
103297 irqtest(103741):  <- vfio_pci_set_power_state
103302 irqtest(103741): <- vfio_pci_release

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux