On Mon, May 18, 2015 at 03:53:14PM -0600, Toshi Kani wrote: > On Mon, 2015-05-18 at 22:51 +0200, Borislav Petkov wrote: > > On Mon, May 18, 2015 at 02:21:08PM -0600, Toshi Kani wrote: > > > The caller is the one who makes the condition checks necessary to create > > > a huge page mapping. > > > > How? It would go and change MTRRs configuration and ranges and their > > memory types so that a huge mapping succeeds? > > > > Or go and try a different range? > > Try with a smaller page size. > > The callers, pud_set_huge() and pmd_set_huge(), check if the given range > is safe with MTRRs for creating a huge page mapping. If not, they fail > the request, which leads their callers, ioremap_pud_range() and > ioremap_pmd_range(), to retry with a smaller page size, i.e. 1GB -> 2MB > -> 4KB. 4KB may not have overlap with MTRRs (hence no checking is > necessary), which will succeed as before.
Ok, now *this* should be in the form of a comment over the KVA helpers, not the MTRR aspect. Callers of those functions would have to know that - they shouldn't care about MTRR setup. The MTRR aspect with the 3 conditions should be only over mtrr_type_lookup(). I'll integrate it into the patch. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/