Giant free GEOM/CAM XPT

Alexander Motin mav at FreeBSD.org
Fri Jul 23 05:47:17 UTC 2010


Jerry Toung wrote:
> Hello List,
> while going through the xpt code (8.0 RELEASE), it seems to me that some
> gains can be had
> in src/sys/geom/geom_disk.c where dp->d_strategy(bp2) is surrounded by Giant
> lock. Especially in the case
> where one has 2+ controllers on the system with /dev/daXX attached to them
> during heavy I/O.

Giant locked there only if DISKFLAG_NEEDSGIANT flag is set, which da
driver is not doing.

> I am currently trying to get rid of giant there, but it branches in sys/cam
> and sys/dev/twa. Definitely not a
> trivial exercise. The dependency on Giant seems to come from the XPT code.
> 
> would be neat  if I could just use the SIM lock, which  is per controller.
> 
> Question: do you think it's worth the effort?

I think you misunderstood something. Most of CAM protected by SIM locks.
If some SIMs use Giant for that purpose - it is their own problem. But
as I can see, twa uses own lock, not Giant.

-- 
Alexander Motin


More information about the freebsd-hackers mailing list