Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1532146 > unrolled thread

Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc

Started byGeert Uytterhoeven <geert@linux-m68k.org>
First post2016-11-29 12:20 +0100
Last post2016-11-29 15:00 +0100
Articles 9 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Geert Uytterhoeven <geert@linux-m68k.org> - 2016-11-29 12:20 +0100
    Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Peter Zijlstra <peterz@infradead.org> - 2016-11-29 12:50 +0100
      Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Geert Uytterhoeven <geert@linux-m68k.org> - 2016-11-29 13:00 +0100
        Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Peter Zijlstra <peterz@infradead.org> - 2016-11-29 13:30 +0100
          Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Peter Zijlstra <peterz@infradead.org> - 2016-11-29 13:40 +0100
          Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Geert Uytterhoeven <geert@linux-m68k.org> - 2016-11-29 14:30 +0100
            Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Peter Zijlstra <peterz@infradead.org> - 2016-11-29 14:40 +0100
              Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Geert Uytterhoeven <geert@linux-m68k.org> - 2016-11-29 14:40 +0100
                Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc Peter Zijlstra <peterz@infradead.org> - 2016-11-29 15:00 +0100

#1532146 — Re: [PATCH v3 0/2] Ajust lockdep static allocations for sparc

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2016-11-29 12:20 +0100
SubjectRe: [PATCH v3 0/2] Ajust lockdep static allocations for sparc
Message-ID<sIOC6-7Kl-23@gated-at.bofh.it>
CC linux-renesas-soc

On Tue, Sep 27, 2016 at 9:33 PM, Babu Moger <babu.moger@oracle.com> wrote:
> These patches limit the static allocations for lockdep data structures
> used for debugging locking correctness. For sparc, all the kernel's code,
> data, and bss, must have locked translations in the TLB so that we don't
> get TLB misses on kernel code and data. Current sparc chips have 8 TLB
> entries available that may be locked down, and with a 4mb page size,
> this gives a maximum of 32MB. With PROVE_LOCKING we could go over this
> limit and cause system boot-up problems. These patches limit the static
> allocations so that everything fits in current required size limit.
>
> patch 1 : Adds new config parameter CONFIG_PROVE_LOCKING_SMALL
> Patch 2 : Adjusts the sizes based on the new config parameter

Cool, this is also useful on other platforms!
E.g. on r8a7791/koelsch, I cannot boot an shmobile_defconfig plus
CONFIG_PROVE_LOCKING kernel.
Forcing CONFIG_PROVE_LOCKING_SMALL=y in Kconfig fixes that.

Should it become a user-selectable symbol?

> v2-> v3:
>    Some more comments from Sam Ravnborg and Peter Zijlstra.
>    Defined PROVE_LOCKING_SMALL as invisible and moved the selection to
>    arch/sparc/Kconfig.
>
> v1-> v2:
>    As suggested by Peter Zijlstra, keeping the default as is.
>    Introduced new config variable CONFIG_PROVE_LOCKING_SMALL
>    to handle sparc specific case.
>
> v0:
>    Initial revision.
>
> Babu Moger (2):
>   config: Adding the new config parameter CONFIG_PROVE_LOCKING_SMALL
>     for sparc
>   lockdep: Limit static allocations if PROVE_LOCKING_SMALL is defined
>
>  arch/sparc/Kconfig                 |    1 +
>  kernel/locking/lockdep_internals.h |   20 +++++++++++++++++---
>  lib/Kconfig.debug                  |    3 +++
>  3 files changed, 21 insertions(+), 3 deletions(-)

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [next] | [standalone]


#1532195

FromPeter Zijlstra <peterz@infradead.org>
Date2016-11-29 12:50 +0100
Message-ID<sIP57-7Uu-7@gated-at.bofh.it>
In reply to#1532146
On Tue, Nov 29, 2016 at 12:14:48PM +0100, Geert Uytterhoeven wrote:
> CC linux-renesas-soc
> 
> On Tue, Sep 27, 2016 at 9:33 PM, Babu Moger <babu.moger@oracle.com> wrote:
> > These patches limit the static allocations for lockdep data structures
> > used for debugging locking correctness. For sparc, all the kernel's code,
> > data, and bss, must have locked translations in the TLB so that we don't
> > get TLB misses on kernel code and data. Current sparc chips have 8 TLB
> > entries available that may be locked down, and with a 4mb page size,
> > this gives a maximum of 32MB. With PROVE_LOCKING we could go over this
> > limit and cause system boot-up problems. These patches limit the static
> > allocations so that everything fits in current required size limit.
> >
> > patch 1 : Adds new config parameter CONFIG_PROVE_LOCKING_SMALL
> > Patch 2 : Adjusts the sizes based on the new config parameter
> 
> Cool, this is also useful on other platforms!
> E.g. on r8a7791/koelsch, I cannot boot an shmobile_defconfig plus
> CONFIG_PROVE_LOCKING kernel.
> Forcing CONFIG_PROVE_LOCKING_SMALL=y in Kconfig fixes that.
> 
> Should it become a user-selectable symbol?

Nah, users don't need more senseless options. This is really only useful
for dinky platforms or platforms with limited static image size (like
sparc64).

If you make this user selectable, someone will do, and then an endless
stream of table not big enough warnings will be posted.

Also, its only 4MB (IIRC), so who cares.

[toc] | [prev] | [next] | [standalone]


#1532219

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2016-11-29 13:00 +0100
Message-ID<sIPeO-7XO-25@gated-at.bofh.it>
In reply to#1532195
Hi Peter,

On Tue, Nov 29, 2016 at 12:41 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Nov 29, 2016 at 12:14:48PM +0100, Geert Uytterhoeven wrote:
>> CC linux-renesas-soc
>>
>> On Tue, Sep 27, 2016 at 9:33 PM, Babu Moger <babu.moger@oracle.com> wrote:
>> > These patches limit the static allocations for lockdep data structures
>> > used for debugging locking correctness. For sparc, all the kernel's code,
>> > data, and bss, must have locked translations in the TLB so that we don't
>> > get TLB misses on kernel code and data. Current sparc chips have 8 TLB
>> > entries available that may be locked down, and with a 4mb page size,
>> > this gives a maximum of 32MB. With PROVE_LOCKING we could go over this
>> > limit and cause system boot-up problems. These patches limit the static
>> > allocations so that everything fits in current required size limit.
>> >
>> > patch 1 : Adds new config parameter CONFIG_PROVE_LOCKING_SMALL
>> > Patch 2 : Adjusts the sizes based on the new config parameter
>>
>> Cool, this is also useful on other platforms!
>> E.g. on r8a7791/koelsch, I cannot boot an shmobile_defconfig plus
>> CONFIG_PROVE_LOCKING kernel.
>> Forcing CONFIG_PROVE_LOCKING_SMALL=y in Kconfig fixes that.
>>
>> Should it become a user-selectable symbol?
>
> Nah, users don't need more senseless options. This is really only useful
> for dinky platforms or platforms with limited static image size (like
> sparc64).
>
> If you make this user selectable, someone will do, and then an endless
> stream of table not big enough warnings will be posted.
>
> Also, its only 4MB (IIRC), so who cares.

I care :-)

Not because of platforms with not limited memory, but because of platforms
with boot loaders that have silly kernel size limitations, and start
scribbling over the DTB or even theirselves when copying a large kernel image.

BTW, is there any particular reason these huge arrays are in BSS, and not
allocated dynamically? That would solve my problems as well...

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [prev] | [next] | [standalone]


#1532239

FromPeter Zijlstra <peterz@infradead.org>
Date2016-11-29 13:30 +0100
Message-ID<sIPHP-8re-9@gated-at.bofh.it>
In reply to#1532219
On Tue, Nov 29, 2016 at 12:52:04PM +0100, Geert Uytterhoeven wrote:
> > Nah, users don't need more senseless options. This is really only useful
> > for dinky platforms or platforms with limited static image size (like
> > sparc64).
> >
> > If you make this user selectable, someone will do, and then an endless
> > stream of table not big enough warnings will be posted.
> >
> > Also, its only 4MB (IIRC), so who cares.
> 
> I care :-)
> 
> Not because of platforms with not limited memory, but because of platforms
> with boot loaders that have silly kernel size limitations, and start
> scribbling over the DTB or even theirselves when copying a large kernel image.

Right, that's the weird platforms clause above, and those can select the
option.

> BTW, is there any particular reason these huge arrays are in BSS, and not
> allocated dynamically? That would solve my problems as well...

Is there a memory allocator available before _any_ locks are used, and
that itself also doesn't use locks?

[toc] | [prev] | [next] | [standalone]


#1532242

FromPeter Zijlstra <peterz@infradead.org>
Date2016-11-29 13:40 +0100
Message-ID<sIPRv-8uh-9@gated-at.bofh.it>
In reply to#1532239
On Tue, Nov 29, 2016 at 01:29:07PM +0100, Peter Zijlstra wrote:
> > BTW, is there any particular reason these huge arrays are in BSS, and not
> > allocated dynamically? That would solve my problems as well...
> 
> Is there a memory allocator available before _any_ locks are used, and
> that itself also doesn't use locks?

And if that is, the platform could use that to allocate .bss, no?

[toc] | [prev] | [next] | [standalone]


#1532277

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2016-11-29 14:30 +0100
Message-ID<sIQDT-yf-11@gated-at.bofh.it>
In reply to#1532239
On Tue, Nov 29, 2016 at 1:29 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Nov 29, 2016 at 12:52:04PM +0100, Geert Uytterhoeven wrote:
>> > Nah, users don't need more senseless options. This is really only useful
>> > for dinky platforms or platforms with limited static image size (like
>> > sparc64).
>> >
>> > If you make this user selectable, someone will do, and then an endless
>> > stream of table not big enough warnings will be posted.
>> >
>> > Also, its only 4MB (IIRC), so who cares.
>>
>> I care :-)
>>
>> Not because of platforms with not limited memory, but because of platforms
>> with boot loaders that have silly kernel size limitations, and start
>> scribbling over the DTB or even theirselves when copying a large kernel image.
>
> Right, that's the weird platforms clause above, and those can select the
> option.

Their Kconfig files can select it. The users can't.
What about making it visible depending on EXPERT?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [prev] | [next] | [standalone]


#1532278

FromPeter Zijlstra <peterz@infradead.org>
Date2016-11-29 14:40 +0100
Message-ID<sIQNA-Bo-21@gated-at.bofh.it>
In reply to#1532277
On Tue, Nov 29, 2016 at 02:26:47PM +0100, Geert Uytterhoeven wrote:
> On Tue, Nov 29, 2016 at 1:29 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> > On Tue, Nov 29, 2016 at 12:52:04PM +0100, Geert Uytterhoeven wrote:

> >> Not because of platforms with not limited memory, but because of platforms
> >> with boot loaders that have silly kernel size limitations, and start
> >> scribbling over the DTB or even theirselves when copying a large kernel image.
> >
> > Right, that's the weird platforms clause above, and those can select the
> > option.
> 
> Their Kconfig files can select it. The users can't.
> What about making it visible depending on EXPERT?

Not understanding, why would a user ever need it? The platform knows if
its has funny boot image size limits, no?

[toc] | [prev] | [next] | [standalone]


#1532280

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2016-11-29 14:40 +0100
Message-ID<sIQNA-Bo-19@gated-at.bofh.it>
In reply to#1532278
Hi Peter,

On Tue, Nov 29, 2016 at 2:31 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Nov 29, 2016 at 02:26:47PM +0100, Geert Uytterhoeven wrote:
>> On Tue, Nov 29, 2016 at 1:29 PM, Peter Zijlstra <peterz@infradead.org> wrote:
>> > On Tue, Nov 29, 2016 at 12:52:04PM +0100, Geert Uytterhoeven wrote:
>
>> >> Not because of platforms with not limited memory, but because of platforms
>> >> with boot loaders that have silly kernel size limitations, and start
>> >> scribbling over the DTB or even theirselves when copying a large kernel image.
>> >
>> > Right, that's the weird platforms clause above, and those can select the
>> > option.
>>
>> Their Kconfig files can select it. The users can't.
>> What about making it visible depending on EXPERT?
>
> Not understanding, why would a user ever need it? The platform knows if
> its has funny boot image size limits, no?

The boot loader does not come with the kernel, so the platform cannot
know for sure.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

[toc] | [prev] | [next] | [standalone]


#1532311

FromPeter Zijlstra <peterz@infradead.org>
Date2016-11-29 15:00 +0100
Message-ID<sIR6V-It-11@gated-at.bofh.it>
In reply to#1532280
On Tue, Nov 29, 2016 at 02:39:20PM +0100, Geert Uytterhoeven wrote:

> > Not understanding, why would a user ever need it? The platform knows if
> > its has funny boot image size limits, no?
> 
> The boot loader does not come with the kernel, so the platform cannot
> know for sure.

Why would anybody use a bootloader that imposes weird restrictions on
their platform? That is, isn't that simply a broken bootloader?

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web