Buildresult: powerpc-next/x86_64-allnoconfig/x86_64-gcc4.6 built on Feb 28 2019, 14:51
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Feb 28 2019, 14:51
Duration:
0:00:28.045729
Builder:
ka2
Revision:
powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables (
11f5acce2fa43b015a8120fa7620fa4efd0a2952)
Target:
powerpc-next/x86_64-allnoconfig/x86_64-gcc4.6
Branch:
powerpc-next
Compiler:
x86_64-gcc4.6
(x86_64-linux-gcc (GCC) 4.6.3 / GNU ld (GNU Binutils) 2.22)
Config:
allnoconfig
(
download
)
Log:
Download original
Possible warnings (4)
warning: There are too many unreachable loose objects; run 'git prune' to remove them. arch/x86/kernel/apic/io_apic.c:1034:6: warning: 'irq' may be used uninitialized in this function [-Wuninitialized] kernel/printk/printk.c:186:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] arch/x86/kernel/e820.c:650:16: warning: 'gapstart' may be used uninitialized in this function [-Wuninitialized]
Full Log
# git rev-parse -q --verify 11f5acce2fa43b015a8120fa7620fa4efd0a2952^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/linuxppc/linux.git next-test error: The last gc run reported the following. Please correct the root cause and remove .git/gc.log. Automatic cleanup will not be performed until the file is removed. warning: There are too many unreachable loose objects; run 'git prune' to remove them. # git rev-parse -q --verify 11f5acce2fa43b015a8120fa7620fa4efd0a2952^{commit} 11f5acce2fa43b015a8120fa7620fa4efd0a2952 # git checkout -q -f -B kisskb 11f5acce2fa43b015a8120fa7620fa4efd0a2952 # git clean -qxdf # < git log -1 # commit 11f5acce2fa43b015a8120fa7620fa4efd0a2952 # Author: Alexey Kardashevskiy <aik@ozlabs.ru> # Date: Wed Feb 13 14:38:18 2019 +1100 # # powerpc/powernv/ioda: Fix locked_vm counting for memory used by IOMMU tables # # We store 2 multilevel tables in iommu_table - one for the hardware and # one with the corresponding userspace addresses. Before allocating # the tables, the iommu_table_group_ops::get_table_size() hook returns # the combined size of the two and VFIO SPAPR TCE IOMMU driver adjusts # the locked_vm counter correctly. When the table is actually allocated, # the amount of allocated memory is stored in iommu_table::it_allocated_size # and used to decrement the locked_vm counter when we release the memory # used by the table; .get_table_size() and .create_table() calculate it # independently but the result is expected to be the same. # # However the allocator does not add the userspace table size to # .it_allocated_size so when we destroy the table because of VFIO PCI # unplug (i.e. VFIO container is gone but the userspace keeps running), # we decrement locked_vm by just a half of size of memory we are # releasing. # # To make things worse, since we enabled on-demand allocation of # indirect levels, it_allocated_size contains only the amount of memory # actually allocated at the table creation time which can just be a # fraction. It is not a problem with incrementing locked_vm (as # get_table_size() value is used) but it is with decrementing. # # As the result, we leak locked_vm and may not be able to allocate more # IOMMU tables after few iterations of hotplug/unplug. # # This sets it_allocated_size in the pnv_pci_ioda2_ops::create_table() # hook to what pnv_pci_ioda2_get_table_size() returns so from now on we # have a single place which calculates the maximum memory a table can # occupy. The original meaning of it_allocated_size is somewhat lost now # though. # # We do not ditch it_allocated_size whatsoever here and we do not call # get_table_size() from vfio_iommu_spapr_tce.c when decrementing # locked_vm as we may have multiple IOMMU groups per container and even # though they all are supposed to have the same get_table_size() # implementation, there is a small chance for failure or confusion. # # Fixes: 090bad39b237 ("powerpc/powernv: Add indirect levels to it_userspace") # Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> # Reviewed-by: David Gibson <david@gibson.dropbear.id.au> # Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> # < /opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 11f5acce2fa43b015a8120fa7620fa4efd0a2952 # < make -s -j 8 ARCH=x86_64 O=/kisskb/build/powerpc-next_x86_64-allnoconfig_x86_64-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- allnoconfig # make -s -j 8 ARCH=x86_64 O=/kisskb/build/powerpc-next_x86_64-allnoconfig_x86_64-gcc4.6 CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/x86_64-linux/bin/x86_64-linux- /kisskb/src/arch/x86/kernel/apic/io_apic.c: In function 'mp_map_pin_to_irq': /kisskb/src/arch/x86/kernel/apic/io_apic.c:1034:6: warning: 'irq' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:186:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/arch/x86/kernel/e820.c: In function 'e820__setup_pci_gap': /kisskb/src/arch/x86/kernel/e820.c:650:16: warning: 'gapstart' may be used uninitialized in this function [-Wuninitialized] Completed OK # rm -rf /kisskb/build/powerpc-next_x86_64-allnoconfig_x86_64-gcc4.6 # Build took: 0:00:28.045729
© Michael Ellerman 2006-2018.