|
[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 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:
[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)
Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |