Page MenuHomeFreeBSD

camProject
ActivePublic

Details

Description

CAM: Common Access Method

Recent Activity

Jul 16 2024

ken closed D45688: Add isp(4) fwload_only loader tunable.
Jul 16 2024, 9:25 PM · cam
ken closed D45660: Fix isp(4) device probing with 9.x firmware.
Jul 16 2024, 9:25 PM · cam

Jun 24 2024

mav accepted D45688: Add isp(4) fwload_only loader tunable.
Jun 24 2024, 7:40 PM · cam
ken updated the diff for D45688: Add isp(4) fwload_only loader tunable.

Change fwload_only to fwload_force.

Jun 24 2024, 7:37 PM · cam
mav accepted D45660: Fix isp(4) device probing with 9.x firmware.

Looks odd to me, but OK.

Jun 24 2024, 6:17 PM · cam
ken added a comment to D45660: Fix isp(4) device probing with 9.x firmware.
In D45660#1042762, @mav wrote:
In D45660#1042742, @ken wrote:

So here is what the debugging log message in isp_getpdb() shows. isp0 and isp1 are connected to LTO-6 tape drives via an 8Gb switch. isp2 is directly connected to an LTO-6 in loop mode:

isp0: Chan 0 handle 0x0 Port 0xfffc01 flags 0x0 curstate 77 laststate 77
isp0: Chan 0 handle 0x1 Port 0x011b26 flags 0x40a0 curstate 46 laststate 46
isp0: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp0: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp1: Chan 0 handle 0x0 Port 0xfffc01 flags 0x0 curstate 77 laststate 77
isp1: Chan 0 handle 0x1 Port 0x011a26 flags 0x40a0 curstate 46 laststate 46
isp1: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp1: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp2: Chan 0 handle 0x0 Port 0x000026 flags 0x40a0 curstate 46 laststate 46

So it seems the upper 4 bits can actually have different values, not some "non-NVMe" constant, as I thought. I am OK with this patch if it solves the issue, but it would definitely be good to understand what it is, in case there is something important.

Jun 24 2024, 5:53 PM · cam
mav added a comment to D45660: Fix isp(4) device probing with 9.x firmware.
In D45660#1042742, @ken wrote:

So here is what the debugging log message in isp_getpdb() shows. isp0 and isp1 are connected to LTO-6 tape drives via an 8Gb switch. isp2 is directly connected to an LTO-6 in loop mode:

isp0: Chan 0 handle 0x0 Port 0xfffc01 flags 0x0 curstate 77 laststate 77
isp0: Chan 0 handle 0x1 Port 0x011b26 flags 0x40a0 curstate 46 laststate 46
isp0: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp0: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp1: Chan 0 handle 0x0 Port 0xfffc01 flags 0x0 curstate 77 laststate 77
isp1: Chan 0 handle 0x1 Port 0x011a26 flags 0x40a0 curstate 46 laststate 46
isp1: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp1: Chan 0 handle 0x7fe Port 0xfffffe flags 0x0 curstate 44 laststate 44
isp2: Chan 0 handle 0x0 Port 0x000026 flags 0x40a0 curstate 46 laststate 46

Jun 24 2024, 5:49 PM · cam
ken added a comment to D45688: Add isp(4) fwload_only loader tunable.
In D45688#1042676, @mav wrote:

It seems a good tunable, except I am not getting the meaning of "only" there. Why not "always", "force" or something like that?

Jun 24 2024, 5:32 PM · cam
ken added a comment to D45660: Fix isp(4) device probing with 9.x firmware.
In D45660#1042675, @mav wrote:

None of QLogic documents I have know nothing about NVMe, and this state field is declared is byte there. I have no objections for this patch, but a bit curios what NVMe status do we see there for non-NVMe devices.

Jun 24 2024, 5:08 PM · cam
mav added a comment to D45688: Add isp(4) fwload_only loader tunable.

It seems a good tunable, except I am not getting the meaning of "only" there. Why not "always", "force" or something like that?

Jun 24 2024, 3:25 PM · cam
mav added a comment to D45660: Fix isp(4) device probing with 9.x firmware.

None of QLogic documents I have know nothing about NVMe, and this state field is declared is byte there. I have no objections for this patch, but a bit curios what NVMe status do we see there for non-NVMe devices.

Jun 24 2024, 3:17 PM · cam

Jun 21 2024

ken updated the summary of D45688: Add isp(4) fwload_only loader tunable.
Jun 21 2024, 7:52 PM · cam
ken requested review of D45688: Add isp(4) fwload_only loader tunable.
Jun 21 2024, 7:51 PM · cam
ken added a project to D45660: Fix isp(4) device probing with 9.x firmware: cam.
Jun 21 2024, 7:40 PM · cam

May 20 2024

yan.jurak_gmail.com removed a watcher for cam: yan.jurak_gmail.com.
May 20 2024, 10:17 PM
yan.jurak_gmail.com added a watcher for cam: yan.jurak_gmail.com.
May 20 2024, 10:13 PM

Jul 14 2022

mav closed D35784: Delay GEOM disk_create() until CAM periph probe complete.
Jul 14 2022, 8:18 PM · cam

Jul 12 2022

imp accepted D35784: Delay GEOM disk_create() until CAM periph probe complete.
In D35784#812281, @mav wrote:

Without this it does not explicitly hold boot, but it blocks GEOM event thread on taste attempt, which also blocks boot, but also blocks most of GEOM commands.

Jul 12 2022, 11:09 PM · cam
mav added a comment to D35784: Delay GEOM disk_create() until CAM periph probe complete.

Without this it does not explicitly hold boot, but it blocks GEOM event thread on taste attempt, which also blocks boot, but also blocks most of GEOM commands.

Jul 12 2022, 11:08 PM · cam
imp added a comment to D35784: Delay GEOM disk_create() until CAM periph probe complete.

At this point, I'm only worried about da's state machine holding up boot now where it didn't used to do so... And I'm not sure, exactly, how to measure that worry ...

Jul 12 2022, 11:02 PM · cam
imp added inline comments to D35784: Delay GEOM disk_create() until CAM periph probe complete.
Jul 12 2022, 10:53 PM · cam
mav updated the diff for D35784: Delay GEOM disk_create() until CAM periph probe complete.

Remove incorrect comment.

Jul 12 2022, 10:51 PM · cam
mav added inline comments to D35784: Delay GEOM disk_create() until CAM periph probe complete.
Jul 12 2022, 10:50 PM · cam
imp added inline comments to D35784: Delay GEOM disk_create() until CAM periph probe complete.
Jul 12 2022, 9:50 PM · cam
mav updated the diff for D35784: Delay GEOM disk_create() until CAM periph probe complete.

Move softc->state = NDA_STATE_NORMAL; before disk_create().

Jul 12 2022, 6:47 PM · cam
mav updated the diff for D35784: Delay GEOM disk_create() until CAM periph probe complete.

Update after Warner's comments.

Jul 12 2022, 6:09 PM · cam
mav added inline comments to D35784: Delay GEOM disk_create() until CAM periph probe complete.
Jul 12 2022, 6:08 PM · cam
imp added a comment to D35784: Delay GEOM disk_create() until CAM periph probe complete.

I generally like this, even though I had a bunch of nit-picky comments and questions.
I only see one real issue for sure, but maybe a second race (but maybe not, I'm asking to make sure it can't happen).

Jul 12 2022, 4:40 PM · cam
mav updated the diff for D35784: Delay GEOM disk_create() until CAM periph probe complete.

Remove unneeded now disk_attr_changed() call.

Jul 12 2022, 3:47 PM · cam
mav requested review of D35784: Delay GEOM disk_create() until CAM periph probe complete.
Jul 12 2022, 3:26 PM · cam

Mar 25 2022

scottl removed a member for cam: scottl.
Mar 25 2022, 10:08 PM

Oct 5 2021

mav closed D32305: cam(4): Limit search for disks in SES enclosure by single bus.
Oct 5 2021, 7:04 PM · cam
mav closed D32304: cam(4): Improve XPT_DEV_MATCH.
Oct 5 2021, 7:04 PM · cam
mav updated the diff for D32304: cam(4): Improve XPT_DEV_MATCH.

Restore commas, fix compat shims.

Oct 5 2021, 4:00 PM · cam
mav added inline comments to D32305: cam(4): Limit search for disks in SES enclosure by single bus.
Oct 5 2021, 4:23 AM · cam
imp added inline comments to D32305: cam(4): Limit search for disks in SES enclosure by single bus.
Oct 5 2021, 3:52 AM · cam
mav added a reviewer for D32305: cam(4): Limit search for disks in SES enclosure by single bus: imp.
Oct 5 2021, 3:40 AM · cam
imp added a member for cam: imp.
Oct 5 2021, 3:11 AM
imp accepted D32304: cam(4): Improve XPT_DEV_MATCH.
Oct 5 2021, 3:09 AM · cam
mav updated the summary of D32305: cam(4): Limit search for disks in SES enclosure by single bus.
Oct 5 2021, 2:27 AM · cam
mav requested review of D32305: cam(4): Limit search for disks in SES enclosure by single bus.
Oct 5 2021, 2:26 AM · cam
mav requested review of D32304: cam(4): Improve XPT_DEV_MATCH.
Oct 5 2021, 2:14 AM · cam

Jun 3 2021

imp closed D25476: Fix use after free panic and state transitions in mps(4) and mpr(4).
Jun 3 2021, 7:47 PM · cam

Dec 7 2020

bz added a watcher for cam: bz.
Dec 7 2020, 12:36 PM

Nov 14 2020

mav added a comment to D26912: RFC: Disk I/O priority support.

If there is some use high priority, then it works for SATA and it is simple, but since it is absolute priority, the difference between normal and high is too big to use it without very good reason. For low priority though, which would be useful for background operations even with absolute priorities, I haven't found a working implementation so far, unless potentially NVMe. I am hoping to get some comments from ${HDD vendor} about it.

Nov 14 2020, 11:34 PM · cam
mckusick added a comment to D26912: RFC: Disk I/O priority support.

Have we reached any conclusions about whether to do any of the ideas suggested in this phabricator thread?

Nov 14 2020, 10:53 PM · cam

Nov 2 2020

mav added a comment to D26912: RFC: Disk I/O priority support.

Just for information, I've also experimented with isochronous NCQ priority (AKA NCQ streaming). I hoped that setting large timeout would reduce the request priority. But at least on WD Red I see no any priority effects until the timeout is reached, and I see priority increase (again with the IOPS problem) when it is. It is good to see that the feature is really working, but unfortunately I see no usage for it in this shape. I see plenty of use cases for low priority (that SATA/SAS drives don't provide), but not really for high priority (that they do, but not very efficiently). NVMe seems to have usable priority concept and some devices support it, just not sure how important is the priority for pretty fast NVMe's.

Nov 2 2020, 2:12 PM · cam

Oct 29 2020

mav added a comment to D26912: RFC: Disk I/O priority support.

I've tried opposite approach of adding LOWPRIO flag instead and using it only for background operations in few places, and marking BIOs without it high-priority in ATA/SCSI. But while testing it I've noticed that disk random IOPS drop to almost non-NCQ level on a mix of different priorities. And I am measuring the same on both WD and HGST. I don't understand what is going on there, may be I am missing something, but that is unacceptable trade-off to me. I've uploaded my present patch in case somebody wish to play, but probably won't commit it in this state.

Oct 29 2020, 5:44 PM · cam
mav updated the diff for D26912: RFC: Disk I/O priority support.
Oct 29 2020, 5:22 PM · cam

Oct 28 2020

mav added a comment to D26912: RFC: Disk I/O priority support.

Priority is working on top of tag, affecting specifically only commands tagged as SIMPLE . The ORDERED and HEAD tags still have their function as they are mandatory in their fencing semantics, while priority is a softer hint for a schduler.

Oct 28 2020, 8:26 PM · cam