[Patch] powerpc/cell: make ptcal more reliable

Gerhard Stenzel gerhard.stenzel at de.ibm.com
Tue May 5 20:47:59 EST 2009


Jeremy Kerr <jk at ozlabs.org> wrote on 05/05/2009 02:57:18 AM:

> Hi Gerhard,

Jeremy, thanks for your comments

>
> > This is for QS21. The following patch allocates pages only from
> > the specified node, moves the ptcal area into the middle of the
> > allocated page to avoid potential prefetch problems and prints
> > the address of the ptcal area to facilitate diagnostics.
>
> You're seeing prefetches that cross a page boundary?
>
> > -   area->pages = alloc_pages_node(area->nid, GFP_KERNEL, area->order);
> > +   area->pages = alloc_pages_node(area->nid, GFP_KERNEL |
> > GFP_THISNODE, area->order);
>
> Best to keep this under 80 cols.

ok

>
> >
> > -   if (!area->pages)
> > +   if (!area->pages) {
> > +      printk(KERN_INFO "%s: no page on node %d\n",
> > +         __FUNCTION__, area->nid);
> >        goto out_free_area;
> > +   }
>
> That could probably be a KERN_ERR, as we don't have ptcal enabled on
> that node. Also, I believe __func__ is preferred over __FUNCTION__.

Since this is the default for the kdump kernel in most cases, how about
KERN_WARNING instead.:

>
> > -   addr = __pa(page_address(area->pages));
> > +   /*
> > +    * We move the ptcal area to the middle of the allocated
> > +    * page, in order to avoid prefetches in memcpy and similar
> > +    * functions stepping on it.
> > +    */
> > +   addr = __pa(page_address(area->pages)) + (PAGE_SIZE >> 1);
>
> Minor nitpick, but I think (PAGE_SIZE / 2) better illustrates that
> you're putting the addr in the middle of the page. But either should be
> fine.

ok. I prefer to keep it like this. It should be clear from the comment.

>
> > +   printk(KERN_INFO "%s: enabling PTCAL on node %d address=0x%016lx
> > PAGE_SIZE>>1=0x%016lx \n",
> > +         __FUNCTION__, area->nid, addr, PAGE_SIZE>>1);
>
> 80 cols again. Can we do this as a pr_debug?

"PAGE_SIZE>>1" can be omitted anyway. Removing it brings it below 80 cols.
Regarding pr_debug, the message should appear only on QS21 where it can be
of interest. So, I would prefer to keep a printk.

>
> Cheers,
>
> Jeremy

Thanks again,

Best regards,

Gerhard Stenzel, Linux on Cell/Hybrid Technologies, LTC
-----------------------------------------------------------------------------------------------------------------------------------

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Erich
Baier
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht Stuttgart,
HRB 243294




More information about the Linuxppc-dev mailing list