- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jul 16 2019
Jul 15 2019
Make it #professional, per rpokala
updates from scott's comments
I am concerned no more! Awesome.
fixed in a different way.
Jul 14 2019
Jul 13 2019
Jul 12 2019
Jul 11 2019
I'm happy with this now.
Jul 10 2019
I agree with kevans' style nits, but this is looking a lot better. I'd see where servip is used better now.
Jul 9 2019
Jul 8 2019
Tweaks to license / years
rebase + spelling nit
Ah, the PCI vs PCIe specs.
I'd be tempted to do this as two different commits: one for ctypes.h and one for the SPDX. I agree with the comments about placement of ctypes.h.
Jul 7 2019
I like these changes.
I had a minor gut reactions that the mode should be settable, but then realized no, it shouldn't.
But what's the group the file gets created as? Or is that adequately covered with the sticky bit in /var/account that we don't mess with that the system manager sets up?
Subject to the one comment above, I like it and think it should go in
Reading through the standard just now, this change looks good, provided we never use the ST Table Location value of 10b (device specific mode, table 6-12 in the 3.0 standard). If we do, then the upper 16 bits are the ST values and need to be preserved.
Jul 5 2019
Jul 4 2019
Jul 3 2019
Jul 1 2019
Please make the change that bapt suggested.
I need to think through the sys.mk change, and I've got no time today to do that. I'll try to articulate something coherent (one way or the other) by the end of the day tomorrow since I know what I've said so far isn't actionable.
Jun 30 2019
can you re-upload the diff -U9999 please? It will make it easier to review.
I like the general direction, but want to look at it more closely.
Jun 28 2019
Cleaned up
Here's a slightly better debug run, with printing of the cm address:
mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe03150916c0 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091818 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091970 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091ac8 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091c20 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe03150922d8 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315092430 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315092588 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe03150926e0 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315092838 sc 0xfffffe0069f13000 [****] ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_add_device: sending Target Reset for stuck SATA identify command (cm = 0xfffffe03150916c0) mps2: Sending target reset to target 0 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe03150916c0 mps2: mpssas_action_scsiio: Freezing devq for target ID 0 (probe0:mps2:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00 (probe0:mps2:0:0:0): CAM status: CAM subsystem is busy (probe0:mps2:0:0:0): Retrying command, 3 more tries remain mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315092838 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe03150926e0 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315092588 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315092430 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe03150922d8 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315091c20 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315091ac8 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315091970 mps2: Bad state for ADDRESS_REPLY status, ignoring state 0 cm 0xfffffe0315091818 mps2: target reset status 0x0 code 0x0 count 9 mps2: Finished reset recovery for target 0 mps2: Unfreezing devq for target ID 0
All the Bad States CMs are marked with [****] in the retry output.
So we get 10 timeouts and have 9 cm's in the free state. We have to do the Target Reset after these timeouts. Unsure why the mismatch, unless the commands complete 'eventually' because we didn't properly cancel them and that's what's causing the issue? Unsure.
Here's the boot log from a machine that now survives.
mps0: <Avago Technologies (LSI) SAS2008> port 0xe000-0xe0ff mem 0xfb900000-0xfb903fff,0xfb880000-0xfb8bffff irq 26 at device 0.0 on pci1 mps0: Firmware: 15.00.00.00, Driver: 21.02.00.00-fbsd mps0: IOCCapabilities: 1285c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,EventReplay,HostDisc> ... mps1: <Avago Technologies (LSI) SAS2008> port 0xd000-0xd0ff mem 0xfb300000-0xfb303fff,0xfb280000-0xfb2bffff irq 34 at device 0.0 on pci3 mps1: Firmware: 15.00.00.00, Driver: 21.02.00.00-fbsd mps1: IOCCapabilities: 1285c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,EventReplay,HostDisc> ... mps2: <Avago Technologies (LSI) SAS2008> port 0xc000-0xc0ff mem 0xfad00000-0xfad03fff,0xfac80000-0xfacbffff irq 40 at device 0.0 on pci4 mps2: Firmware: 15.00.00.00, Driver: 21.02.00.00-fbsd mps2: IOCCapabilities: 1285c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,EventReplay,HostDisc> ... mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe03150916c0 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091818 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091970 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091ac8 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315091c20 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe03150922d8 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315092430 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315092588 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe03150926e0 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_ata_id_timeout ATA ID command timeout cm 0xfffffe0315092838 sc 0xfffffe0069f13000 ata_id_timeout: state is 3 mps2: Request for SATA PASSTHROUGH page completed with error 60 mps2: Sleeping 3 seconds after SATA ID error to wait for spinup mps2: mpssas_add_device: sending Target Reset for stuck SATA identify command (cm = 0xfffffe03150916c0) mps2: Sending target reset to target 0 Free state for ADDRESS_REPLY status, ignoring mps2: mpssas_action_scsiio: Freezing devq for target ID 0 (probe0:mps2:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00 (probe0:mps2:0:0:0): CAM status: CAM subsystem is busy (probe0:mps2:0:0:0): Retrying command, 3 more tries remain Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring Free state for ADDRESS_REPLY status, ignoring mps2: target reset status 0x0 code 0x0 count 9 mps2: Finished reset recovery for target 0 mps2: Unfreezing devq for target ID 0 mps2: Controller reported scsi ioc terminated tgt 0 SMID 269 loginfo 31111000 (probe0:mps2:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00 (probe0:mps2:0:0:0): CAM status: CCB request completed with an error (probe0:mps2:0:0:0): Retrying command, 2 more tries remain run_interrupt_driven_hooks: still waiting after 120 seconds for xpt_config mps2: Controller reported scsi ioc terminated tgt 0 SMID 270 loginfo 31111000 (probe0:mps2:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00 (probe0:mps2:0:0:0): CAM status: CCB request completed with an error (probe0:mps2:0:0:0): Retrying command, 1 more tries remain run_interrupt_driven_hooks: still waiting after 180 seconds for xpt_config mps2: Controller reported scsi ioc terminated tgt 0 SMID 271 loginfo 31111000 (probe0:mps2:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00 (probe0:mps2:0:0:0): CAM status: CCB request completed with an error (probe0:mps2:0:0:0): Retrying command, 0 more tries remain mps2: Controller reported scsi ioc terminated tgt 0 SMID 272 loginfo 31111000 (probe0:mps2:0:0:0): INQUIRY. CDB: 12 00 00 00 24 00 (probe0:mps2:0:0:0): CAM status: CCB request completed with an error (probe0:mps2:0:0:0): Error 5, Retries exhausted da2 at mps0 bus 0 scbus7 target 1 lun 0 da2: <ATA HGST HUS726060AL T1E2> Fixed Direct Access SPC-4 SCSI device da2: Serial Number AR31001EV1AVUC da2: 600.000MB/s transfers da2: Command Queueing enabled da2: 5723166MB (11721045168 512 byte sectors) da1 at mps0 bus 0 scbus7 target 0 lun 0 da1: <ATA HGST HUS726060AL T1E2> Fixed Direct Access SPC-4 SCSI device da1: Serial Number AR31001EV1A8YC da1: 600.000MB/s transfers da1: Command Queueing enabled da1: 5723166MB (11721045168 512 byte sectors) ...
Jun 27 2019
https://reviews.freebsd.org/D20788 is a much better way to go...
There's three fixes here: one is to remove TIMEDOUT as a state and moves it to a couple of bits
one is to only remove the cm from the deferred list when its been inserted
and one is to fix the race that I called out separately.
OK. that works for me. thanks for the answer.
Looks good. What do we do if we can't get the string?
Jun 26 2019
In D20394#449248, @kmoore wrote:In D20394#449200, @adamw wrote:So, I'm just going to throw this out here. This is just a neat feature of the ports tree that the src framework might choose to leverage.
Many src OPTIONS will necessarily depend upon each other. For instance, enabling ZFS but not CDDL will (afaik) not produce working zfs. Similarly, TELNET without INET will not produce a working telnet. I know that there are a great number of options here, and that this would add some complexity, but it might save some users from shooting themselves in the foot.
We have a syntax that specifies that one option requires another, or that enabling one option should prevent another option from being enabled.
ZFS_IMPLIES= CDDL SENDMAIL_IMPLIES= MAIL MAILWRAPPER INETHere, if SENDMAIL is enabled, once the options form is submitted, MAIL, MAILWRAPPER, and INET will be automatically enabled.
SENDMAIL_PREVENTS= RATIONAL_THOUGHTHere, if SENDMAIL and RATIONAL_THOUGHT are both enabled when the options form is submitted, the build will die with a (configurable) error explaining that those options are incompatible.
Yes, this is something really nice about the ports framework. We started with a more basic list of options, so you can run 'make config' and select your knobs at will. But we've anticipated going back and figuring out the groupings and conflicts between the options and setting those as well. We can see there being a lot of users who appreciate being able to see what options are available via the dialog menus, but also have that guidance on which ones are safe to set/unset as they build a custom kernel/userland or whatever.
I'm not sure I see the need for _system.h, at least for this. sys/bus.h isn't a standards defined thing, so name space pollution is not an issue, right?