Re: [rfc][patch 2/2] mm: introduce optional pte_special pte bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, 16 Jan 2008, Nick Piggin wrote:
> 
> My biggest concen is that s390 basically are thinking about doing
> something like this:
> 
>        if (unlikely(vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP))) {
>                 if (vma->vm_flags & VM_MIXEDMAP) {
> #ifdef s390
> 			if (pte_special(pte))
> 				return NULL;
> #else
>                         if (!pfn_valid(pfn))
>                                 return NULL;
> #endif

Ok. So now that I actually know what the reason for the insanity was.

> Basically what I want to do is make the pte_special part usable by
> all architectures, and bring it out of the vma tests.

But if it's always there, then there is no reason for *any* of this. The 
right thing is to just always do

	return pte_special(pte) ? NULL : pte_page(pte);

and I'd be happy with that too. I'm just not happy with the mixing, and 
with the #ifdef inside code.

All the other code only makes sense if there isn't a special bit in the 
pte, but I was literally told that the only architecture that does *not* 
have any free bits for that is S390. So now you use S390 as an excuse to 
do that "pte_special()", which is what I think EVERYBODY ELSE wanted to do 
in the first place!

Can you see why I'm not so enamoured with the patch? Either it makes 
sense, and *everybody* should just use that simple one-liner, or it 
doesn't make sense, and *nobody* should do it.

It's the "both cases" that just drives me wild. It doesn't make sense.

			Linus


-
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux