Giant free GEOM/CAM XPT

Jerry Toung jrytoung at gmail.com
Thu Jul 22 21:15:24 UTC 2010


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.

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?

right now I always get a crash (race condition most likely) in
xpt_run_dev_allocq->camq_remove

Jerry


More information about the freebsd-hackers mailing list