Re: [PATCH 0/7] [RFC] hugetlb: pagetable_operations API (V2)

From: Dave Hansen
Date: Tue Mar 20 2007 - 19:50:55 EST


On Mon, 2007-03-19 at 13:05 -0700, Adam Litke wrote:
> For the common case (vma->pagetable_ops == NULL), we do almost the
> same thing as the current code: load and test. The third instruction
> is different in that we jump for the common case instead of jumping in
> the hugetlb case. I don't think this is a big deal though. If it is,
> would an unlikely() macro fix it?

I wouldn't worry about micro-optimizing it at that level. The CPU does
enough stuff under the covers that I wouldn't worry about it at all.

I wonder if the real differential impact (if any) is likely to come from
the pagetable_ops cacheline being hot or cold, since it is in a
different place in the structure than the flags. But, from a quick
glance I see a few vm_ops references preceding pagetable_ops references,
so the pagetable_ops cacheline might already be hot most of the time.

BTW, are there any other possible users for these things other than
large pages?

-- Dave

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