on 21/08/2012 04:59 Scott Long said the following: > This gets brought up from time to time, and I honestly thought that I swept > most of the problems up a few years ago. The mistake that I made in the mlx > driver that was recently corrected was evidence of a previous sweep. > > If anyone wants to do another sweep, the thing to grep for is any drivers > that use MAXPHYS to size their i/o's. For the drivers that do that, you then > have to see if they can actually handle an arbitrary number of scatter-gather > elements. If they can't then they need to stop using MAXPHYS and start using > a constant that applies to the driver. My quick scan shows the following > would need to be investigated: > > sys/dev/ata (legacy ata) /sys/dev/isp /sys/dev/mmcsd /sys/dev/mvs > > The only other problem is that struct but contains an element sized on > MAXPHYS for doing swapper I/O. Increasing MAXPHYS will increase this, and at > one point I think that Alan Cox might have wanted to find a better way to > hold swap info. Otherwise, increasing MAXPHYS causes no problems and is > something that has run in production for quite some time at places like Yahoo > and Netflix.
I would like to use this opportunity to remind about another abuse in drivers: MAXBSIZE. This constant should be private to buffer cache / FS drivers layer, but some drivers abuse it for things related to physical I/O (mostly [only?] as bus_dma_tag_create parameter). -- Andriy Gapon _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"