Re: [PATCH] mm/page_alloc.c: fix a typo

From: Andrew Morton
Date: Tue May 06 2008 - 10:20:26 EST


On Tue, 06 May 2008 17:50:31 +0800 Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:

> Li Zefan wrote:
> > ---
>
> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
> ---
>
> Sorry for the noise, but the signed-off was eaten. :(
> Maybe I should leave a blank line before the signed-off.
>
> ---
>
> mm/page_alloc.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index bdd5c43..d0ba10d 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -303,7 +303,7 @@ static void destroy_compound_page(struct page *page, unsigned long order)
> for (i = 1; i < nr_pages; i++) {
> struct page *p = page + i;
>
> - if (unlikely(!PageTail(p) |
> + if (unlikely(!PageTail(p) ||
> (p->first_page != page)))
> bad_page(page);
> __ClearPageTail(p);

I have a vague memory that the "|" was deliberate. Most of the time,
"!PageTail" will be false so most of the time we won't take the first
branch so it's probably worth omitting it and always doing the pointer
comparison.

It's a somewhat dopey trick and shouldn't have been done without a comment.

otoh maybe it was a typo.
--
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/