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

Re: [Xen-devel] [PATCH 2/2] IOMMU/spinlock: Make the pcidevs_lock a recursive one



On March 08, 2016 8:29pm, <dario.faggioli@xxxxxxxxxx> wrote:
> On Tue, 2016-03-08 at 19:09 +0800, Quan Xu wrote:
> > Signed-off-by: Quan Xu <quan.xu@xxxxxxxxx>
> > CC: Keir Fraser <keir@xxxxxxx>
> > CC: Jan Beulich <jbeulich@xxxxxxxx>
> > CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> > CC: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> > CC: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx>
> > CC: Feng Wu <feng.wu@xxxxxxxxx>
> > CC: Kevin Tian <kevin.tian@xxxxxxxxx>
> > CC: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> >
> I've gone through the code, and it looks fine.
> 
> However, when trying to apply the patch, on top of this morning's staging, I 
> got
> this:
> 
Oh, sorry, it is not against this morning's staging.
I would try to send out patch against this morning's staging soon. Thanks.

-Quan


> [dario@Solace xen.git] $ patch -p1 <
> \[PATCH_2_2\]_IOMMU_spinlock\:_Make_the_pcidevs_lock_a_recursive_one.
> mbox
> patching file xen/arch/x86/domctl.c
> Hunk #1 succeeded at 472 (offset 45 lines).
> Hunk #2 succeeded at 497 (offset 45 lines).
> patching file xen/arch/x86/hvm/vmsi.c
> Hunk #1 succeeded at 388 with fuzz 1.
> Hunk #2 succeeded at 446 with fuzz 1 (offset 3 lines).
> patching file xen/arch/x86/irq.c
> Hunk #1 succeeded at 1960 (offset 5 lines).
> Hunk #2 succeeded at 2105 (offset 5 lines).
> Hunk #3 succeeded at 2231 (offset 5 lines).
> Hunk #4 succeeded at 2239 (offset 5 lines).
> patching file xen/arch/x86/msi.c
> patching file xen/arch/x86/pci.c
> Hunk #1 succeeded at 88 (offset 6 lines).
> patching file xen/arch/x86/physdev.c
> patching file xen/common/sysctl.c
> patching file xen/drivers/passthrough/amd/iommu_init.c
> patching file xen/drivers/passthrough/amd/iommu_map.c
> patching file xen/drivers/passthrough/amd/pci_amd_iommu.c
> patching file xen/drivers/passthrough/pci.c Hunk #17 succeeded at 1226 with
> fuzz 1.
> Hunk #18 succeeded at 1262 (offset -6 lines).
> Hunk #19 succeeded at 1291 (offset -6 lines).
> Hunk #20 succeeded at 1340 (offset -6 lines).
> Hunk #21 succeeded at 1364 (offset -6 lines).
> Hunk #22 succeeded at 1401 (offset -6 lines).
> Hunk #23 succeeded at 1416 (offset -6 lines).
> Hunk #24 succeeded at 1471 (offset -6 lines).
> Hunk #25 succeeded at 1490 (offset -6 lines).
> Hunk #26 succeeded at 1625 (offset -6 lines).
> patching file xen/drivers/passthrough/vtd/iommu.c
> Hunk #1 succeeded at 1282 (offset -4 lines).
> Hunk #2 succeeded at 1424 (offset -4 lines).
> Hunk #3 succeeded at 1506 (offset -4 lines).
> Hunk #4 succeeded at 1816 (offset -4 lines).
> Hunk #5 succeeded at 1881 (offset -4 lines).
> Hunk #6 succeeded at 2109 (offset -4 lines).
> Hunk #7 succeeded at 2123 (offset -4 lines).
> patching file xen/drivers/video/vga.c
> patching file xen/include/xen/pci.h
> 
> And, when building:
> 
> gcc -O2 -fomit-frame-pointer -m64 -fno-strict-aliasing -std=gnu99 -Wall
> -Wstrict-prototypes -Wdeclaration-after-statement
> -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -DNDEBUG
> -I/home/SOURCES/xen/xen/xen.git/xen/include
> -I/home/SOURCES/xen/xen/xen.git/xen/include/asm-x86/mach-generic
> -I/home/SOURCES/xen/xen/xen.git/xen/include/asm-x86/mach-default
> '-D__OBJECT_LABEL__=drivers$passthrough$vtd$intremap.o' -msoft-float
> -fno-stack-protector -fno-exceptions -Wnested-externs -DHAVE_GAS_VMX
> -DHAVE_GAS_EPT -DHAVE_GAS_FSGSBASE -U__OBJECT_LABEL__
> -DHAVE_GAS_QUOTED_SYM
> '-D__OBJECT_LABEL__=drivers/passthrough/vtd/intremap.o' -mno-red-zone
> -mno-sse -fpic -fno-asynchronous-unwind-tables
> -DGCC_HAS_VISIBILITY_ATTRIBUTE -nostdinc -fno-builtin -fno-common
> -Werror -Wredundant-decls -Wno-pointer-arith -pipe -g -D__XEN__ -include
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/config.h
> '-D__OBJECT_FILE__="intremap.o"' -DPERF_COUNTERS -DPERF_ARRAYS -MMD
> -MF ./.intremap.o.d -c intremap.c -o intremap.o In file included from
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/bitmap.h:6:0,
>                  from
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/cpumask.h:78,
>                  from
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/irq.h:4,
>                  from intremap.c:20:
> intremap.c: In function 'pi_update_irte':
> intremap.c:987:27: error: passing argument 1 of '_spin_is_locked' from
> incompatible pointer type [-Werror]
>      ASSERT(spin_is_locked(&pcidevs_lock));
>                            ^
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/lib.h:35:35: note: in
> definition of macro 'ASSERT'
>  #define ASSERT(p) do { if ( 0 && (p) ) {} } while (0)
>                                    ^
> intremap.c:987:12: note: in expansion of macro 'spin_is_locked'
>      ASSERT(spin_is_locked(&pcidevs_lock));
>             ^
> In file included from
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/rcupdate.h:35:0,
>                  from
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/irq.h:5,
>                  from intremap.c:20:
> /home/SOURCES/xen/xen/xen.git/xen/include/xen/spinlock.h:163:5: note:
> expected 'struct spinlock_t *' but argument is of type 'void (*)(void)'
>  int _spin_is_locked(spinlock_t *lock);
> 
> So, I think a refresh is necessary.
> 
> Regards,
> Dario
> --
> <<This happens because I choose it to happen!>> (Raistlin Majere)
> -----------------------------------------------------------------
> Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer,
> Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.