Re: [PATCH v4 05/11] swiotlb: add swiotlb_set_default_size()

From: FUJITA Tomonori
Date: Tue Mar 16 2010 - 19:16:44 EST


On Tue, 16 Mar 2010 14:28:09 -0500
Becky Bruce <beckyb@xxxxxxxxxxxxxxxxxxx> wrote:

>
> On Mar 16, 2010, at 5:08 AM, FUJITA Tomonori wrote:
>
> > On Tue, 16 Mar 2010 06:58:41 +0100
> > Albert Herranz <albert_herranz@xxxxxxxx> wrote:
> >
> >> FUJITA Tomonori wrote:
> >>> On Fri, 12 Mar 2010 20:12:40 +0100
> >>> Albert Herranz <albert_herranz@xxxxxxxx> wrote:
> >>>
> >>>> The current SWIOTLB code uses a default of 64MB for the IO TLB
> >>>> area.
> >>>> This size can be influenced using a kernel command line parameter
> >>>> "swiotlb".
> >>>> Unfortunately, the parsing of the kernel command line is done
> >>>> _after_ the
> >>>> swiotlb is initialized on some architectures.
> >>>>
> >>>> This patch adds a new function swiotlb_set_default_size() which
> >>>> can be used
> >>>> before swiotlb_init() to indicate the desired IO TLB area size in
> >>>> bytes.
> >>>>
> >>>> This will be used later to implement a smaller IO TLB on the
> >>>> Nintendo Wii
> >>>> video game console which just comes with 24MB + 64MB of RAM.
> >>>>
> >>>> CC: linuxppc-dev@xxxxxxxxxxxxxxxx
> >>>> CC: linux-kernel@xxxxxxxxxxxxxxx
> >>>> CC: x86@xxxxxxxxxx
> >>>> CC: linux-ia64@xxxxxxxxxxxxxxx
> >>>> Signed-off-by: Albert Herranz <albert_herranz@xxxxxxxx>
> >>>> ---
> >>>> include/linux/swiotlb.h | 2 ++
> >>>> lib/swiotlb.c | 20 ++++++++++++++++++++
> >>>> 2 files changed, 22 insertions(+), 0 deletions(-)
> >>>
> >>> Please fix the powerpc swiotlb initialization instead.
> >>>
> >>> Calling swiotlb_init() before parsing kernel parameters sounds
> >>> wrong. Any reasons why you can't fix it?
> >>>
> >>
> >> I think that this would be better asked by a PowerPC maintainer. Ben?
> >>
> >> If this is really a problem the swiotlb late init may be a solution
> >> too in this particular case.
> >
> > Hmm, why swiotlb_late_init_with_default_size()?
> >
> > Why can't you initialize swiotlb in mem_init() like this (only compile
> > tested)? Any time before freeing bootmem works for swiotlb.
>
> This is an oops in the original patchset - I think it should be fine
> to move the swiotlb_init later as Fujita suggests, at least for 32-bit
> powerpc. I just booted this on mpc8641 and everything seems OK.

Thanks!

I'll resend this patch in the proper format. This patch fixes the
problem that powerpc ignores swiotlb boot options so we can merge it
independent of Albert's patchset.
--
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/