# git rev-parse -q --verify a6778e9dc6dae1628e48f31b31a74fc85185ddd6^{commit} a6778e9dc6dae1628e48f31b31a74fc85185ddd6 already have revision, skipping fetch # git checkout -q -f -B kisskb a6778e9dc6dae1628e48f31b31a74fc85185ddd6 # git clean -qxdf # git log -1 commit a6778e9dc6dae1628e48f31b31a74fc85185ddd6 Author: Christophe Lombard Date: Fri Apr 22 15:39:22 2016 +0200 cxl: Check periodically the coherent platform function's state In the PowerVM environment, the PHYP CoherentAccel component manages the state of the Coherent Accelerator Processor Interface adapter and virtualizes CAPI resources, handles CAPP, PSL, PSL Slice errors - and interrupts - and provides a new set of hcalls for the OS APIs to utilize Accelerator Function Unit (AFU). During the course of operation, a coherent platform function can encounter errors. Some possible reason for errors are: • Hardware recoverable and unrecoverable errors • Transient and over-threshold correctable errors PHYP implements its own state model for the coherent platform function. The state of the AFU is available through a hcall. The current implementation of the cxl driver, for the PowerVM environment, checks this state of the AFU only when an action is requested - open a device, ioctl command, memory map, attach/detach a process - from an external driver - cxlflash, libcxl. If an error is detected the cxl driver handles the error according the content of the Power Architecture Platform Requirements document. But in case of low-level troubles (or error injection), the PHYP component may reset the card and change the AFU state. The PHYP interface doesn't provide any way to be notified when that happens thus implies that the cxl driver: • cannot handle immediatly the state change of the AFU. • cannot notify other drivers (cxlflash, ...) The purpose of this patch is to wake up the cpu periodically to check the current state of each AFU and to see if we need to enter an error recovery path. Signed-off-by: Christophe Lombard Acked-by: Ian Munsie Signed-off-by: Michael Ellerman # < /opt/cross/gcc-5.3.0-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 a6778e9dc6dae1628e48f31b31a74fc85185ddd6 # < make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/gcc-5.3.0-nolibc/powerpc-linux/bin/powerpc-linux- allnoconfig # make -j 48 ARCH=powerpc O=/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/gcc-5.3.0-nolibc/powerpc-linux/bin/powerpc-linux- make[1]: Entering directory '/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3' GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release GEN ./Makefile WRAP arch/powerpc/include/generated/asm/clkdev.h WRAP arch/powerpc/include/generated/asm/div64.h WRAP arch/powerpc/include/generated/asm/irq_regs.h WRAP arch/powerpc/include/generated/asm/irq_work.h WRAP arch/powerpc/include/generated/asm/local64.h WRAP arch/powerpc/include/generated/asm/mcs_spinlock.h WRAP arch/powerpc/include/generated/asm/preempt.h WRAP arch/powerpc/include/generated/asm/rwsem.h WRAP arch/powerpc/include/generated/asm/vtime.h UPD include/config/kernel.release CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h Using /home/kisskb/slave/src as source for kernel CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h CC scripts/mod/empty.o HOSTCC scripts/dtc/dtc.o HOSTCC scripts/mod/mk_elfconfig HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/fstree.o CC scripts/mod/devicetable-offsets.s HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/util.o SHIPPED scripts/dtc/dtc-lexer.lex.c SHIPPED scripts/dtc/dtc-parser.tab.h HOSTCC scripts/dtc/dtc-lexer.lex.o SHIPPED scripts/dtc/dtc-parser.tab.c HOSTCC scripts/dtc/dtc-parser.tab.o GEN scripts/mod/devicetable-offsets.h MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/dtc/dtc HOSTLD scripts/mod/modpost CHK include/generated/timeconst.h CC kernel/bounds.s UPD include/generated/timeconst.h CHK include/generated/bounds.h UPD include/generated/bounds.h CC arch/powerpc/kernel/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h CALL /home/kisskb/slave/src/scripts/checksyscalls.sh :1310:2: warning: #warning syscall preadv2 not implemented [-Wcpp] :1313:2: warning: #warning syscall pwritev2 not implemented [-Wcpp] CC init/main.o CHK include/generated/compile.h LD usr/built-in.o CC init/do_mounts.o CC init/noinitramfs.o CC init/init_task.o UPD include/generated/compile.h CC init/version.o CC arch/powerpc/mm/fault.o CC arch/powerpc/mm/mem.o LD arch/powerpc/sysdev/built-in.o CC arch/powerpc/mm/pgtable.o AS arch/powerpc/lib/string.o CC arch/powerpc/mm/mmap.o CC arch/powerpc/mm/init_32.o CC arch/powerpc/lib/alloc.o CC arch/powerpc/mm/pgtable_32.o CC arch/powerpc/lib/ppc_ksyms.o CC arch/powerpc/mm/ppc_mmu_32.o CC arch/powerpc/lib/feature-fixups.o CC arch/powerpc/mm/mmu_context_hash32.o AS arch/powerpc/lib/div64.o AS arch/powerpc/lib/copy_32.o AS arch/powerpc/lib/checksum_32.o CC arch/powerpc/mm/tlb_hash32.o AS arch/powerpc/mm/hash_low_32.o AS arch/powerpc/lib/crtsavres.o CC arch/powerpc/lib/code-patching.o CC arch/powerpc/mm/hugetlbpage.o CC arch/powerpc/lib/checksum_wrappers.o LD arch/powerpc/platforms/built-in.o LD arch/powerpc/math-emu/built-in.o CC arch/powerpc/kernel/cputable.o CC arch/powerpc/kernel/syscalls.o CC arch/powerpc/kernel/ptrace.o CC arch/powerpc/kernel/pmc.o CC arch/powerpc/kernel/signal_32.o CC arch/powerpc/kernel/align.o CC arch/powerpc/kernel/idle.o CC arch/powerpc/kernel/vdso.o CPP arch/powerpc/kernel/systbl_chk.i CC arch/powerpc/kernel/irq.o CC arch/powerpc/kernel/signal.o CC arch/powerpc/kernel/process.o CC arch/powerpc/kernel/sysfs.o CC arch/powerpc/kernel/cacheinfo.o CC arch/powerpc/kernel/prom.o CC arch/powerpc/kernel/time.o AS arch/powerpc/kernel/misc_32.o CC arch/powerpc/kernel/traps.o CC arch/powerpc/kernel/dma.o CC arch/powerpc/kernel/io.o AS arch/powerpc/kernel/misc.o CC arch/powerpc/kernel/udbg.o CC arch/powerpc/kernel/setup-common.o CC arch/powerpc/kernel/prom_parse.o CC arch/powerpc/kernel/of_platform.o LD arch/powerpc/crypto/built-in.o AS arch/powerpc/kernel/idle_6xx.o AS arch/powerpc/kernel/l2cr_6xx.o AS arch/powerpc/kernel/cpu_setup_6xx.o AS arch/powerpc/kernel/entry_32.o CC arch/powerpc/kernel/setup_32.o LD arch/powerpc/net/built-in.o CC arch/powerpc/kernel/pci_32.o CC arch/powerpc/kernel/pci-common.o CC arch/powerpc/kernel/pci_of_scan.o LDS arch/powerpc/kernel/vdso32/vdso32.lds CC arch/powerpc/kernel/iomap.o AS arch/powerpc/kernel/head_32.o LDS arch/powerpc/kernel/vmlinux.lds AS arch/powerpc/kernel/fpu.o VDSO32A arch/powerpc/kernel/vdso32/sigtramp.o VDSO32A arch/powerpc/kernel/vdso32/datapage.o CALL /home/kisskb/slave/src/arch/powerpc/kernel/systbl_chk.sh VDSO32A arch/powerpc/kernel/vdso32/cacheflush.o VDSO32A arch/powerpc/kernel/vdso32/gettimeofday.o VDSO32A arch/powerpc/kernel/vdso32/note.o AS arch/powerpc/kernel/systbl.o LD arch/powerpc/lib/built-in.o LD certs/built-in.o VDSO32L arch/powerpc/kernel/vdso32/vdso32.so.dbg OBJCOPY arch/powerpc/kernel/vdso32/vdso32.so AS arch/powerpc/kernel/vdso32/vdso32_wrapper.o LD ipc/built-in.o LD arch/powerpc/kernel/vdso32/built-in.o LD arch/powerpc/mm/built-in.o CC security/commoncap.o CC security/min_addr.o LD crypto/built-in.o LD block/built-in.o CC kernel/fork.o CC kernel/exec_domain.o CC kernel/panic.o CC kernel/exit.o CC kernel/cpu.o CC kernel/softirq.o CC kernel/sysctl.o CC kernel/resource.o CC kernel/sysctl_binary.o CC kernel/ptrace.o CC kernel/sys.o CC kernel/signal.o CC kernel/capability.o LD sound/built-in.o CC kernel/kmod.o CC kernel/extable.o CC kernel/user.o CC kernel/workqueue.o CC kernel/pid.o CC kernel/notifier.o CC kernel/ksysfs.o CC kernel/task_work.o CC kernel/params.o CC kernel/kthread.o CC kernel/sys_ni.o CC kernel/nsproxy.o CC kernel/reboot.o CC kernel/cred.o CC kernel/async.o CC kernel/range.o CC kernel/smpboot.o CC fs/open.o CC mm/filemap.o CC mm/mempool.o CC mm/oom_kill.o LD firmware/built-in.o CC fs/read_write.o LD kernel/livepatch/built-in.o LD net/built-in.o CC fs/file_table.o LD init/mounts.o LD init/built-in.o CC kernel/power/qos.o CC kernel/printk/printk.o CC kernel/irq/irqdesc.o CC mm/page_alloc.o CC mm/maccess.o CC mm/page-writeback.o CC kernel/locking/mutex.o CC mm/readahead.o CC kernel/rcu/update.o LD virt/lib/built-in.o CC kernel/dma.o CC kernel/up.o CC kernel/elfcore.o LD virt/built-in.o CC kernel/memremap.o CC kernel/rcu/sync.o LD security/built-in.o CC mm/swap.o CC mm/truncate.o CC kernel/sched/core.o CC kernel/rcu/tiny.o CC fs/super.o CC kernel/sched/loadavg.o CC mm/vmscan.o CC kernel/sched/clock.o CC kernel/time/time.o CC kernel/time/timer.o CC kernel/sched/cputime.o LD arch/powerpc/kernel/built-in.o CC kernel/time/hrtimer.o CC kernel/sched/idle_task.o CC kernel/time/itimer.o CC lib/lockref.o CC kernel/locking/semaphore.o CC lib/bcd.o CC kernel/irq/handle.o CC fs/char_dev.o CC mm/shmem.o CC fs/stat.o CC mm/util.o CC kernel/time/posix-timers.o CC kernel/sched/fair.o CC kernel/time/posix-cpu-timers.o CC mm/mmzone.o CC lib/div64.o CC mm/vmstat.o CC lib/sort.o CC kernel/sched/rt.o CC kernel/time/timekeeping.o CC fs/exec.o CC kernel/irq/manage.o CC lib/parser.o LD drivers/amba/built-in.o LD kernel/power/built-in.o LD drivers/auxdisplay/built-in.o CC kernel/sched/deadline.o CC kernel/sched/stop_task.o CC kernel/sched/wait.o LD drivers/block/built-in.o LD kernel/printk/built-in.o CC lib/halfmd4.o CC fs/pipe.o LD drivers/bus/built-in.o CC fs/namei.o LD drivers/cdrom/built-in.o CC mm/backing-dev.o CC kernel/time/ntp.o CC mm/mm_init.o CC kernel/irq/spurious.o CC mm/mmu_context.o CC mm/percpu.o LD kernel/rcu/built-in.o CC fs/fcntl.o CC drivers/char/mem.o CC lib/debug_locks.o CC fs/ioctl.o LD drivers/clk/bcm/built-in.o CC drivers/base/component.o CC kernel/locking/rwsem.o CC kernel/sched/swait.o CC kernel/time/clocksource.o LD drivers/clk/ti/built-in.o CC mm/slab_common.o CC kernel/time/jiffies.o CC mm/compaction.o CC mm/vmacache.o LD drivers/clk/built-in.o LD drivers/clocksource/built-in.o CC kernel/time/timer_list.o CC lib/random32.o CC mm/interval_tree.o CC lib/bust_spinlocks.o CC kernel/sched/completion.o CC kernel/sched/idle.o LD drivers/firewire/built-in.o CC kernel/time/timeconv.o CC mm/list_lru.o CC mm/workingset.o LD drivers/gpio/built-in.o CC mm/debug.o CC kernel/time/timecounter.o LD drivers/firmware/broadcom/built-in.o CC fs/readdir.o LD drivers/firmware/built-in.o CC fs/select.o CC fs/dcache.o CC kernel/irq/resend.o CC fs/inode.o CC kernel/locking/percpu-rwsem.o CC kernel/time/posix-clock.o CC kernel/time/clockevents.o CC kernel/time/alarmtimer.o CC mm/gup.o CC kernel/time/tick-common.o CC mm/highmem.o CC lib/kasprintf.o CC fs/bad_inode.o CC fs/attr.o LD drivers/hwtracing/intel_th/built-in.o CC lib/bitmap.o CC drivers/base/core.o LD drivers/hsi/clients/built-in.o LD drivers/gpu/drm/i2c/built-in.o CC mm/memory.o LD drivers/gpu/drm/bridge/built-in.o CC fs/file.o CC fs/filesystems.o CC mm/mincore.o CC kernel/irq/chip.o CC drivers/char/random.o LD drivers/gpu/drm/panel/built-in.o CC drivers/char/misc.o LD drivers/hsi/controllers/built-in.o LD drivers/gpu/drm/tilcdc/built-in.o LD drivers/gpu/drm/omapdrm/displays/built-in.o CC mm/mlock.o LD drivers/hsi/built-in.o CC kernel/locking/rwsem-xadd.o LD drivers/i2c/algos/built-in.o CC mm/mmap.o LD drivers/char/agp/built-in.o CC mm/mprotect.o CC kernel/irq/dummychip.o LD drivers/i2c/busses/built-in.o LD drivers/i2c/muxes/built-in.o CC kernel/irq/devres.o CC mm/mremap.o CC fs/namespace.o LD drivers/gpu/drm/omapdrm/dss/built-in.o LD drivers/idle/built-in.o CC fs/seq_file.o CC mm/msync.o CC mm/rmap.o CC mm/vmalloc.o LD drivers/gpu/drm/omapdrm/built-in.o LD drivers/i2c/built-in.o CC drivers/irqchip/irqchip.o CC fs/libfs.o CC fs/xattr.o LD drivers/leds/built-in.o CC fs/fs-writeback.o LD drivers/gpu/drm/built-in.o CC fs/pnode.o CC lib/scatterlist.o CC drivers/base/bus.o LD drivers/lguest/built-in.o CC fs/splice.o LD drivers/macintosh/built-in.o LD kernel/locking/built-in.o LD drivers/gpu/vga/built-in.o CC mm/pagewalk.o LD drivers/mfd/built-in.o CC drivers/base/dd.o CC drivers/base/syscore.o CC fs/sync.o LD drivers/gpu/built-in.o CC fs/utimes.o CC lib/gcd.o CC kernel/irq/irqdomain.o LD drivers/net/built-in.o LD drivers/mmc/built-in.o CC lib/lcm.o CC fs/stack.o LD kernel/sched/built-in.o CC mm/pgtable-generic.o CC lib/list_sort.o LD drivers/misc/cb710/built-in.o CC lib/uuid.o CC mm/init-mm.o CC lib/flex_array.o CC lib/iov_iter.o LD drivers/nfc/built-in.o CC lib/clz_ctz.o LD drivers/misc/eeprom/built-in.o LD drivers/irqchip/built-in.o LD drivers/nvme/host/built-in.o CC fs/fs_struct.o LD drivers/misc/lis3lv02d/built-in.o CC mm/nobootmem.o CC lib/bsearch.o LD drivers/nvme/built-in.o CC fs/statfs.o LD kernel/time/built-in.o CC mm/memblock.o CC drivers/base/driver.o CC drivers/of/base.o CC lib/find_bit.o LD drivers/media/common/saa7146/built-in.o LD drivers/platform/built-in.o LD drivers/media/common/b2c2/built-in.o CC lib/llist.o CC drivers/base/class.o CC lib/memweight.o LD drivers/misc/mic/bus/built-in.o CC drivers/base/platform.o CC drivers/base/cpu.o CC mm/dmapool.o LD drivers/power/built-in.o CC fs/fs_pin.o LD drivers/misc/mic/built-in.o LD drivers/media/common/siano/built-in.o CC lib/kfifo.o CC lib/percpu-refcount.o CC drivers/pci/access.o CC mm/slub.o CC fs/nsfs.o LD drivers/pwm/built-in.o CC fs/no-block.o LD drivers/media/common/built-in.o LD drivers/misc/ti-st/built-in.o CC lib/percpu_ida.o LD fs/devpts/built-in.o CC lib/rhashtable.o LD fs/exofs/built-in.o CC drivers/base/firmware.o LD drivers/char/built-in.o LD drivers/misc/built-in.o LD fs/quota/built-in.o CC lib/reciprocal_div.o LD drivers/media/firewire/built-in.o CC fs/binfmt_elf.o CC fs/ramfs/inode.o CC fs/ramfs/file-mmu.o LD fs/notify/dnotify/built-in.o LD drivers/soc/bcm/built-in.o LD drivers/soc/fsl/built-in.o LD drivers/usb/host/built-in.o CC lib/once.o LD drivers/tty/ipwireless/built-in.o LD kernel/irq/built-in.o CC lib/string_helpers.o CC drivers/base/init.o CC drivers/of/device.o CC lib/hexdump.o CC drivers/pci/bus.o LD fs/notify/fanotify/built-in.o LD drivers/usb/built-in.o LD drivers/soc/built-in.o LD drivers/media/i2c/soc_camera/built-in.o LD kernel/built-in.o LD drivers/video/backlight/built-in.o CC drivers/pci/probe.o LD drivers/tty/serial/built-in.o CC drivers/base/map.o LD drivers/tty/vt/built-in.o CC lib/kstrtox.o CC lib/pci_iomap.o CC drivers/base/devres.o CC drivers/base/attribute_container.o LD drivers/media/i2c/built-in.o CC lib/iomap_copy.o LD drivers/video/fbdev/core/built-in.o CC drivers/base/transport_class.o LD fs/notify/inotify/built-in.o CC lib/devres.o CC drivers/of/platform.o LD drivers/tty/built-in.o CC lib/hweight.o CC drivers/base/topology.o LD fs/notify/built-in.o CC drivers/base/container.o HOSTCC lib/gen_crc32table CC lib/bitrev.o CC drivers/base/cacheinfo.o CC drivers/base/property.o CC drivers/pci/host-bridge.o LD drivers/base/power/built-in.o LD drivers/media/mmc/siano/built-in.o CC lib/syscall.o LD drivers/video/fbdev/omap2/omapfb/dss/built-in.o LD drivers/video/fbdev/omap2/omapfb/displays/built-in.o CC lib/atomic64.o CC drivers/pci/remove.o CC drivers/base/dma-mapping.o LD drivers/media/mmc/built-in.o CC drivers/pci/pci.o CC lib/strncpy_from_user.o LD drivers/video/fbdev/omap2/omapfb/built-in.o CC lib/strnlen_user.o CC drivers/of/fdt.o CC drivers/pci/pci-driver.o CC drivers/of/fdt_address.o CC drivers/of/address.o CC lib/argv_split.o CC drivers/pci/search.o CC lib/cmdline.o LD drivers/video/fbdev/omap2/built-in.o CC lib/ctype.o CC drivers/pci/pci-sysfs.o CC lib/dump_stack.o CC lib/dma-noop.o CC lib/dec_and_lock.o CC drivers/of/irq.o CC lib/decompress.o CC lib/earlycpio.o CC drivers/of/of_pci.o CC lib/extable.o LD drivers/video/fbdev/built-in.o LD drivers/media/platform/omap/built-in.o CC drivers/of/of_pci_irq.o CC lib/fdt_empty_tree.o CC lib/fdt.o CC drivers/of/of_reserved_mem.o CC lib/fdt_ro.o LD drivers/media/platform/built-in.o CC drivers/pci/rom.o CC lib/fdt_rw.o LD drivers/video/built-in.o CC lib/fdt_strerror.o CC lib/fdt_sw.o LD fs/ramfs/ramfs.o CC lib/fdt_wip.o CC lib/flex_proportions.o LD fs/ramfs/built-in.o CC drivers/pci/setup-res.o CC lib/idr.o CC lib/int_sqrt.o CC lib/ioremap.o LD drivers/media/tuners/built-in.o CC lib/irq_regs.o CC lib/is_single_threaded.o CC drivers/pci/vpd.o CC drivers/pci/irq.o CC lib/klist.o CC lib/kobject.o CC drivers/pci/setup-bus.o CC lib/md5.o CC lib/kobject_uevent.o LD drivers/media/rc/keymaps/built-in.o LD drivers/media/pci/b2c2/built-in.o CC lib/nmi_backtrace.o CC lib/plist.o CC lib/proportions.o CC lib/radix-tree.o CC drivers/pci/vc.o CC lib/ratelimit.o CC drivers/pci/syscall.o LD drivers/media/rc/built-in.o CC lib/rbtree.o LD drivers/media/pci/ddbridge/built-in.o CC lib/seq_buf.o CC drivers/pci/of.o CC lib/sha1.o CC lib/show_mem.o CC lib/string.o LD drivers/media/pci/dm1105/built-in.o CC lib/timerqueue.o CC lib/vsprintf.o LD drivers/media/usb/b2c2/built-in.o LD drivers/media/usb/dvb-usb/built-in.o LD drivers/pci/host/built-in.o LD drivers/media/pci/mantis/built-in.o LD drivers/media/usb/s2255/built-in.o LD mm/built-in.o GEN lib/crc32table.h LD drivers/media/usb/dvb-usb-v2/built-in.o LD drivers/media/usb/siano/built-in.o LD drivers/media/pci/netup_unidvb/built-in.o CC lib/crc32.o LD drivers/media/pci/ngene/built-in.o LD drivers/media/pci/pluto2/built-in.o LD drivers/media/pci/pt1/built-in.o LD drivers/media/pci/pt3/built-in.o LD drivers/media/usb/ttusb-budget/built-in.o LD drivers/media/pci/saa7146/built-in.o LD drivers/media/usb/stkwebcam/built-in.o LD fs/built-in.o LD drivers/media/usb/zr364xx/built-in.o LD drivers/media/usb/ttusb-dec/built-in.o LD drivers/media/pci/smipcie/built-in.o LD drivers/media/pci/ttpci/built-in.o LD drivers/media/usb/built-in.o LD drivers/media/pci/built-in.o LD drivers/media/built-in.o LD drivers/of/built-in.o LD drivers/base/built-in.o LD lib/built-in.o LD drivers/pci/built-in.o LD drivers/built-in.o AR lib/lib.a LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SYSMAP System.map /opt/cross/gcc-5.3.0-nolibc/powerpc-linux/bin/powerpc-linux-strip -s -R .comment vmlinux -o arch/powerpc/boot/vmlinux.strip make[1]: Leaving directory '/home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3' Completed OK # rm -rf /home/kisskb/slave/build/mpe_powerpc-allnoconfig_powerpc-5.3 # Build took: 0:00:12.749614