Re: ARM: mm: Could I change module space size or place modules in vmalloc area?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 29 April 2014 12:19:46 Will Deacon wrote:
> On Sat, Apr 26, 2014 at 03:12:40AM +0100, Jianguo Wu wrote:
> > On 2014/1/3 8:47, Russell King - ARM Linux wrote:
> > > ARM can only branch relatively within +/- 32MB.  Hence, with a module
> > > space of 16MB, modules can reach up to a maximum 16MB into the direct-
> > > mapped kernel image.  As module space increases in size, so that figure
> > > decreases.  So, if module space were to be 40MB, the maximum size of the
> > > kernel binary would be 8MB.
> > > 
> > 
> > Hi Russell ,Arnd or Will,
> > 
> > I encountered the same situation in arm64, I loaded 80+ modules in arm64, and
> > run out of module address space(64M). Why the module space is restricted to 64M,
> > can it be expanded?  
> 
> The module space is restricted to 64M on AArch64 because the range of the BL
> instruction is += 128M. In order to call kernel functions, we need to ensure
> that this range is large enough and therefore place the modules 64M below the
> kernel text, allowing 64M for modules and 64M for the kernel text. We could
> probably improve this a bit by assuming a maximum size for the kernel text.
> 
> If we want to remove the problem altogether, we'd need to hack the module
> loader to insert trampolines (fiddly) or somehow persuade the tools to use
> indirect branches (BLR) for all calls (inefficient).

Well, there might also be a bug involved. Loading 80 modules should never
take up 64MB. The typical size of a loadable module should be a few dozen
kilobytes, although we have a few modules that are hundreds of kilobytes.

Jianguo Wu, can you send the defconfig you were using? Did you have
some debugging option enabled that increased the module size?

	Arnd

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]