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


Groups > linux.kernel > #1518964

Re: Proposal: HAVE_SEPARATE_IRQ_STACK?

From Thomas Gleixner <tglx@linutronix.de>
Newsgroups linux.kernel
Subject Re: Proposal: HAVE_SEPARATE_IRQ_STACK?
Date 2016-11-10 14:10 +0100
Message-ID <sBXh8-6DM-17@gated-at.bofh.it> (permalink)
References <sBIBr-4hw-9@gated-at.bofh.it> <sBIUO-4sZ-5@gated-at.bofh.it> <sBKDf-5OO-1@gated-at.bofh.it> <sBTwS-3Ar-47@gated-at.bofh.it> <sBW1I-5Bk-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 10 Nov 2016, Jason A. Donenfeld wrote:
> On Thu, Nov 10, 2016 at 10:03 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
> > Does the slowdown come from the kmalloc overhead or mostly from the less
> > efficient code?
> >
> > If it's mainly kmalloc, then you can preallocate the buffer once for the
> > kthread you're running in and be done with it. If it's the code, then bad
> > luck.
> 
> I fear both. GCC can optimize stack variables in ways that it cannot
> optimize various memory reads and writes.

The question is how much of it is code and how much of it is the kmalloc.
 
> Strangely, the solution that appeals to me most at the moment is to
> kmalloc (or vmalloc?) a new stack, copy over thread_info, and fiddle
> with the stack registers. I don't see any APIs, however, for a
> platform independent way of doing this. And maybe this is a horrible
> idea. But at least it'd allow me to keep my stack-based code the
> same...

Do not even think about going there. That's going to be a major
mess.

As a short time workaround you can increase THREAD_SIZE_ORDER for now and
then fix it proper with switching to seperate irq stacks.

Thanks,

	tglx

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Proposal: HAVE_SEPARATE_IRQ_STACK? "Jason A. Donenfeld" <Jason@zx2c4.com> - 2016-11-09 22:30 +0100
  Re: Proposal: HAVE_SEPARATE_IRQ_STACK? Thomas Gleixner <tglx@linutronix.de> - 2016-11-09 22:50 +0100
    Re: Proposal: HAVE_SEPARATE_IRQ_STACK? "Jason A. Donenfeld" <Jason@zx2c4.com> - 2016-11-10 00:40 +0100
      Re: Proposal: HAVE_SEPARATE_IRQ_STACK? Thomas Gleixner <tglx@linutronix.de> - 2016-11-10 10:10 +0100
        Re: Proposal: HAVE_SEPARATE_IRQ_STACK? "Jason A. Donenfeld" <Jason@zx2c4.com> - 2016-11-10 12:50 +0100
          Re: Proposal: HAVE_SEPARATE_IRQ_STACK? Thomas Gleixner <tglx@linutronix.de> - 2016-11-10 14:10 +0100
            Re: Proposal: HAVE_SEPARATE_IRQ_STACK? "Jason A. Donenfeld" <Jason@zx2c4.com> - 2016-11-10 18:50 +0100
          Re: Proposal: HAVE_SEPARATE_IRQ_STACK? Matt Redfearn <matt.redfearn@imgtec.com> - 2016-11-10 17:40 +0100
            Re: Proposal: HAVE_SEPARATE_IRQ_STACK? "Jason A. Donenfeld" <Jason@zx2c4.com> - 2016-11-10 18:40 +0100
  Re: Proposal: HAVE_SEPARATE_IRQ_STACK? "Jason A. Donenfeld" <Jason@zx2c4.com> - 2016-11-10 02:50 +0100

csiph-web