On Wed, Nov 05, 2008 at 01:10:30PM +0000, Ian Campbell wrote:
> On Wed, 2008-11-05 at 10:05 +0000, Ian Campbell wrote:
> > > What happens if you use "nopat" to disable the usage of PAT?
> > CONFIG_X86_PAT is disabled anyway so it makes no difference.
> Although it does turn out that PAT is implicated...

Ah.

>  /* Set of bits not changed in pte_modify */
> -#define _PAGE_CHG_MASK       (PTE_MASK | _PAGE_CACHE_MASK | _PAGE_IO |       
> \
> +#define _PAGE_CHG_MASK       (PTE_MASK | _PAGE_PCD | _PAGE_PWT | _PAGE_IO |  
> \
>                        _PAGE_ACCESSED | _PAGE_DIRTY)

This is the direct expansion, why?

> +#else
> +     /* This is identical to page table setting without PAT */
> +     if (ret_type) {
> +             if (req_type == -1) {
> +                     *ret_type = _PAGE_CACHE_WB;
> +             } else {
> +                     *ret_type = req_type;
> +             }
> +     }
> +     return 0;
> +#endif

Code duplication. Better force pat_wc_enabled to 0 and let the compiler
do this instead of forcing the knowledge into the preprocessor.

I would also make several parts dependant on _PAGE_CACHE_WC instead of
X86_PAT.

Bastian

-- 
Killing is wrong.
                -- Losira, "That Which Survives", stardate unknown



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to