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


Groups > linux.kernel > #1519122

Re: Proposal: HAVE_SEPARATE_IRQ_STACK?

From Matt Redfearn <matt.redfearn@imgtec.com>
Newsgroups linux.kernel
Subject Re: Proposal: HAVE_SEPARATE_IRQ_STACK?
Date 2016-11-10 17:40 +0100
Message-ID <sC0yl-dI-11@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


Hi Jason,


On 10/11/16 11:41, Jason A. Donenfeld wrote:
> On Thu, Nov 10, 2016 at 10:03 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
>> If you want to go with that config, then you need
>> local_bh_disable()/enable() to fend softirqs off, which disables also
>> preemption.
> Thanks. Indeed this is what I want.
>
>>> What clever tricks do I have at my disposal, then?
>> Make MIPS use interrupt stacks.
> Yea, maybe I'll just implement this. It clearly is the most correct solution.
> @MIPS maintainers: would you merge something like this if done well?
> Are there reasons other than man-power why it isn't currently that
> way?

I don't see a reason not to do this - I'm taking a look into it.

Thanks,
Matt

>> 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.
>
> 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...
>

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