On Tue, 2015-05-12 at 18:31 +0200, Borislav Petkov wrote: > On Tue, May 12, 2015 at 08:30:30AM -0600, Toshi Kani wrote: > > MTRR_TYPE_INVALID means MTRRs disabled. So, the caller checking with > > this value is the same as checking with mtrr_enabled() you suggested. > > So then you don't have to set *uniform = 1 on entry to > mtrr_type_lookup(). And change the retval test > > if ((!uniform) && (mtrr != MTRR_TYPE_WRBACK)) > > to > if ((mtrr != MTRR_TYPE_INVALID) && (!uniform) && (mtrr != MTRR_TYPE_WRBACK)) Yes, that's what I was thinking as well. Will do. > You can put the MTRR_TYPE_INVALID first so that it shortcuts. > > You need the distinction between MTRRs *disabled* and an MTRR region > being {non-,}uniform. > > If MTRRs are disabled, uniform doesn't *mean* *anything* because it is > undefined. When MTRRs are disabled, the range is *not* covered by MTRRs > because, well, them MTRRs are disabled. > > And it might be fine for *your* use case to set *uniform even when MTRRs > are disabled but it might matter in the future. So we better design it > correct from the beginning. I think it is a matter of how "uniform" is defined, but your point is taken and I will change it accordingly. Thanks, -Toshi -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>