mbox

[GIT,PULL] ARM: module PLT optimizations

Message ID CAKv+Gu-=C_WwO30D=0nZCx9FMhj7qrHFzvkk4xnG81Y0t1bdUw@mail.gmail.com
State New
Headers show

Pull-request

git://git.linaro.org/people/ard.biesheuvel/linux-arm.git \

Message

Ard Biesheuvel Aug. 30, 2016, 4:57 p.m. UTC
Hello Russell,

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.linaro.org/people/ard.biesheuvel/linux-arm.git \
                                          tags/arm-plt-optimizations-for-v4.9

for you to fetch changes up to 66e94ba3c8ea5ff5f1443a50441f953ef44010b1:

  ARM: kernel: avoid brute force search on PLT generation
                                          (2016-08-30 17:45:34 +0100)

----------------------------------------------------------------
This series of 4 patches optimizes the ARM PLT generation code that
is invoked at module load time, to get rid of the O(n^2) algorithm
that results in pathological load times of 10 seconds or more for
large modules on certain STB platforms

----------------------------------------------------------------
Ard Biesheuvel (4):
      ARM: kernel: merge core and init PLTs
      ARM: kernel: allocate PLT entries only for external symbols
      ARM: kernel: sort relocation sections before allocating PLTs
      ARM: kernel: avoid brute force search on PLT generation

 arch/arm/include/asm/module.h |   6 +-
 arch/arm/kernel/module-plts.c | 243 +++++++++++++++++++++++++-----------------
 arch/arm/kernel/module.lds    |   3 +-
 3 files changed, 147 insertions(+), 105 deletions(-)

Thanks,
Ard.

Comments

Ard Biesheuvel Sept. 12, 2016, 2:35 p.m. UTC | #1
On 30 August 2016 at 17:57, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> Hello Russell,
>
> The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:
>
>   Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)
>
> are available in the git repository at:
>
>   git://git.linaro.org/people/ard.biesheuvel/linux-arm.git \
>                                           tags/arm-plt-optimizations-for-v4.9
>
> for you to fetch changes up to 66e94ba3c8ea5ff5f1443a50441f953ef44010b1:
>
>   ARM: kernel: avoid brute force search on PLT generation
>                                           (2016-08-30 17:45:34 +0100)
>
> ----------------------------------------------------------------
> This series of 4 patches optimizes the ARM PLT generation code that
> is invoked at module load time, to get rid of the O(n^2) algorithm
> that results in pathological load times of 10 seconds or more for
> large modules on certain STB platforms
>
> ----------------------------------------------------------------
> Ard Biesheuvel (4):
>       ARM: kernel: merge core and init PLTs
>       ARM: kernel: allocate PLT entries only for external symbols
>       ARM: kernel: sort relocation sections before allocating PLTs
>       ARM: kernel: avoid brute force search on PLT generation
>
>  arch/arm/include/asm/module.h |   6 +-
>  arch/arm/kernel/module-plts.c | 243 +++++++++++++++++++++++++-----------------
>  arch/arm/kernel/module.lds    |   3 +-
>  3 files changed, 147 insertions(+), 105 deletions(-)
>

Ping?
Russell King (Oracle) Sept. 12, 2016, 2:37 p.m. UTC | #2
On Mon, Sep 12, 2016 at 03:35:53PM +0100, Ard Biesheuvel wrote:
> On 30 August 2016 at 17:57, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> > Hello Russell,
> >
> > The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:
> >
> >   Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)
> >
> > are available in the git repository at:
> >
> >   git://git.linaro.org/people/ard.biesheuvel/linux-arm.git \
> >                                           tags/arm-plt-optimizations-for-v4.9
> >
> > for you to fetch changes up to 66e94ba3c8ea5ff5f1443a50441f953ef44010b1:
> >
> >   ARM: kernel: avoid brute force search on PLT generation
> >                                           (2016-08-30 17:45:34 +0100)
> >
> > ----------------------------------------------------------------
> > This series of 4 patches optimizes the ARM PLT generation code that
> > is invoked at module load time, to get rid of the O(n^2) algorithm
> > that results in pathological load times of 10 seconds or more for
> > large modules on certain STB platforms
> >
> > ----------------------------------------------------------------
> > Ard Biesheuvel (4):
> >       ARM: kernel: merge core and init PLTs
> >       ARM: kernel: allocate PLT entries only for external symbols
> >       ARM: kernel: sort relocation sections before allocating PLTs
> >       ARM: kernel: avoid brute force search on PLT generation
> >
> >  arch/arm/include/asm/module.h |   6 +-
> >  arch/arm/kernel/module-plts.c | 243 +++++++++++++++++++++++++-----------------
> >  arch/arm/kernel/module.lds    |   3 +-
> >  3 files changed, 147 insertions(+), 105 deletions(-)
> >
> 
> Ping?

It's been pulled, been through testing and I'm going to be pushing it
out into -next soon.
Ard Biesheuvel Sept. 12, 2016, 2:38 p.m. UTC | #3
On 12 September 2016 at 15:37, Russell King - ARM Linux
<linux@armlinux.org.uk> wrote:
> On Mon, Sep 12, 2016 at 03:35:53PM +0100, Ard Biesheuvel wrote:
>> On 30 August 2016 at 17:57, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>> > Hello Russell,
>> >
>> > The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:
>> >
>> >   Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)
>> >
>> > are available in the git repository at:
>> >
>> >   git://git.linaro.org/people/ard.biesheuvel/linux-arm.git \
>> >                                           tags/arm-plt-optimizations-for-v4.9
>> >
>> > for you to fetch changes up to 66e94ba3c8ea5ff5f1443a50441f953ef44010b1:
>> >
>> >   ARM: kernel: avoid brute force search on PLT generation
>> >                                           (2016-08-30 17:45:34 +0100)
>> >
>> > ----------------------------------------------------------------
>> > This series of 4 patches optimizes the ARM PLT generation code that
>> > is invoked at module load time, to get rid of the O(n^2) algorithm
>> > that results in pathological load times of 10 seconds or more for
>> > large modules on certain STB platforms
>> >
>> > ----------------------------------------------------------------
>> > Ard Biesheuvel (4):
>> >       ARM: kernel: merge core and init PLTs
>> >       ARM: kernel: allocate PLT entries only for external symbols
>> >       ARM: kernel: sort relocation sections before allocating PLTs
>> >       ARM: kernel: avoid brute force search on PLT generation
>> >
>> >  arch/arm/include/asm/module.h |   6 +-
>> >  arch/arm/kernel/module-plts.c | 243 +++++++++++++++++++++++++-----------------
>> >  arch/arm/kernel/module.lds    |   3 +-
>> >  3 files changed, 147 insertions(+), 105 deletions(-)
>> >
>>
>> Ping?
>
> It's been pulled, been through testing and I'm going to be pushing it
> out into -next soon.
>

OK, thanks.