Brian King <brk...@linux.vnet.ibm.com> writes: > On 08/31/2017 07:37 AM, Michael Ellerman wrote: >> Stewart Smith <stew...@linux.vnet.ibm.com> writes: >> >>> Michael Ellerman <m...@ellerman.id.au> writes: >>>> OK. So maybe when the petitboot kernel moves up to 4.14 they may want to >>>> flip it back to being a module. >>> >>> Yeah. We tend to keep all RAID adapters as modules because they almost >>> all uniquely try to undo all boot time optimization done by anybody, >>> anywhere, ever. >> >> Yes I know what you mean. I am thinking of one In ParticulaR. > > Ouch. In all fairness over the life of ipr I've done a couple things to > improve initialization time.
Sorry that wasn't meant as a dig at you, more the hardware. It might have needed a smiley :) > 1. On a PowerVM machine, the ipr boot device should not get reset between > the FCODE driver and the Linux driver, so init is extremely fast. If its > a non-boot device, then you'll have to wait for the firmware to initialize > on those adapters. Yeah I don't see any problem on my LPARs, which just have a single IPR for the boot device. Init takes ~1 second. > 2. On a bare metal machine, if you set ipr.fast_reboot=1 on the skiboot > kernel, then we should also avoid resetting the ipr adapter, so ipr > init on the kernel being kexec booted from skiboot should be extremely > fast. OK, I didn't know that was an option, so that might help. > ... > If you've got cases where ipr init is taking a long time, I'd be > interested to know what scenarios are the most annoying to see if there > is any opportunity to improve. Yeah booting bare metal is where I see it (not using ipr.fast_reboot). eg booting a Tuleta: [ 1.517752] ipr: IBM Power RAID SCSI Device Driver version: 2.6.4 (March 14, 2017) ... [ 1.519884] ipr 0001:08:00.0: Initializing IOA. [ 1.519941] scsi host0: IBM 0 Storage Adapter [ 25.695744] ipr 0001:08:00.0: Starting IOA initialization sequence. ... [ 26.329614] sd 0:2:0:0: [sda] Spinning up disk... [ 26.329752] sd 0:2:1:0: [sdb] Spinning up disk... [ 26.329990] sd 0:2:2:0: [sdc] Spinning up disk... [ 26.330065] sd 0:2:3:0: [sdd] Spinning up disk... ... [ 26.349962] sr 0:0:6:0: Attached scsi generic sg15 type 5 Those 24 seconds are a bit of a shame. I assume we're just waiting for the card firmware to come up? I don't think there's much we can do in the kernel, PCI has just come up, so we can't start the IPR init earlier. And the rest of the boot only takes ~3 seconds, so even if we did everything else in parallel, we'd still be waiting ~21 seconds for IPR. cheers