Re: [PATCH 1/7] Introduce the pagetable_operations and associatedhelper macros.

From: Dave Hansen
Date: Tue Mar 20 2007 - 19:25:30 EST


On Mon, 2007-03-19 at 13:05 -0700, Adam Litke wrote:
>
> +#define has_pt_op(vma, op) \
> + ((vma)->pagetable_ops && (vma)->pagetable_ops->op)
> +#define pt_op(vma, call) \
> + ((vma)->pagetable_ops->call)

Can you get rid of these macros? I think they make it a wee bit harder
to read. My brain doesn't properly parse the foo(arg)(bar) syntax.

+ if (has_pt_op(vma, copy_vma))
+ return pt_op(vma, copy_vma)(dst_mm, src_mm, vma);

+ if (vma->pagetable_ops && vma->pagetable_ops->copy_vma)
+ return vma->pagetable_ops->copy_vma(dst_mm, src_mm, vma);

I guess it does lead to some longish lines. Does it start looking
really nasty?

If you're going to have them, it might just be best to put a single
unlikely() around the macro definitions themselves to keep anybody from
having to open-code it for any of the users.

-- 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/