Simple patch: Make DFLTPHYS an option
Scott Long
scottl at freebsd.org
Sat Jan 3 20:30:26 PST 2004
M. Warner Losh wrote:
> My brother was talking to me about the problems he was having with
> scanners. Turns out that he needed to incrase DFLTYPHYS to 128k to
> make it work. I'd like to make this a simple option, but wanted to
> ask people about it first, for both DFLTPHYS and MAXPHYS. This would
> be an experts only option, since you can do bad things with some
> drivers (eg, aha can't do more than 64k of physio at a time, and bad
> things may happen if you try > 128k).
>
> The folks on IRC cautioned that this is not for the feign of heart,
> since there's 'issues' with physio, MAXPHYS, etc.
>
> Comments?
>
> Warner
>
> P.S. Here's a trivial patch to implement this:
>
> ==== //depot/user/imp/newcard/conf/options#70 - /dell/imp/p4/newcard/src/sys/conf/options ====
> @@ -470,10 +470,12 @@
> DEBUG opt_global.h
> DEBUG_LOCKS opt_global.h
> DEBUG_VFS_LOCKS opt_global.h
> +DFLTPHYS opt_global.h
> DIAGNOSTIC opt_global.h
> INVARIANT_SUPPORT opt_global.h
> INVARIANTS opt_global.h
> LOOKUP_SHARED opt_global.h
> +MAXPHYS opt_global.h
> MCLSHIFT opt_global.h
> MSIZE opt_global.h
> REGRESSION opt_global.h
I'm really not comfortable with a patch like this. Changing the default
i/o size is better served as a per-driver tunable/sysctl, like it is in
aac(4). The key, though, is to ensure that the block system is actually
honoring the per-device disk.d_maxsize variable. I'm not sure if it is
right now.
Also, increasing MAXPHYS will lead to your KVA being chewed up quite
quickly, which in turn will lead to unpleasant panics. A lot of work
needs to go in to fixing this; increasing the value here has little
value even to people who shun seatbelts.
Scott
More information about the freebsd-arch
mailing list