linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: arno.steffen@googlemail.com (Arno Steffen)
To: linux-arm-kernel@lists.infradead.org
Subject: IRQ handler under load - slow response
Date: Mon, 14 Mar 2011 14:26:35 +0100	[thread overview]
Message-ID: <AANLkTikCSE3xOYsAnSJQQnW9iTrwbvoscU8hikkewGh6@mail.gmail.com> (raw)
In-Reply-To: <20110309152252.GB333@e-circ.dyndns.org>

Sorry for delay with resonse.
Thanks for your help. Most of this options for ps doesn't work on my
busybox embedded system.
Also chrt is not implemented currently. But that inspired me to
another idea. I just announced the irqs in a sperate process:
Is this what you proposed in b) ?

	i = fork();
	if (i == 0) {
		printf("Prio IRQ %d\n",getpriority(PRIO_PROCESS, getpid()));
		setpriority(PRIO_PROCESS, getpid(), -10);
		printf("Prio IRQ %d\n",getpriority(PRIO_PROCESS, getpid()));
		gpio_irq_setup(GPI_IN1, GPIOCFG_FALLINGDETECT_INTR, &irq_handler);
		gpio_irq_setup(GPI_IN2, GPIOCFG_RISINGDETECT_INTR, &irq_handler );
		printf("all IRQ handlers are setup !\n");
		do {sleep(1);} while(1);
		exit(0);
	}

This helps me reducing the delay to 2ms. Not very fast, but much
better than before.
Setting the priority doesn't have any effect by the way.

Best regards
Arno


2011/3/9 Kurt Van Dijck <kurt.van.dijck@eia.be>:
> On Wed, Mar 09, 2011 at 03:02:06PM +0100, Arno Steffen wrote:
>
>> ------------------
>>
>> What have I done wrong?
> You put code with different scheduling needs in the same scheduling pool.
>> Do I have a chance to speed up the response
>> from changing inputs?
>
> I've been playing with scheduling policies before (I'm not the expert).
> My hint:
> your tasklet is executed in the softirq handler. This will run at normal
> priority (see '$ ps -jefHc' for example)
>
> a)
> You could 'chrt --rr PID' of your softirqd
>
> b)
> replace your tasklet with a threaded irq handler, which you can
> 'chrt --rr PID'. This has the effect that only your own piece of code
> is raised in priority.
>>
>> best regards
>> Steffen
> Hope this will help.
> Kurt
>

  reply	other threads:[~2011-03-14 13:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-09 14:02 IRQ handler under load - slow response Arno Steffen
2011-03-09 15:22 ` Kurt Van Dijck
2011-03-14 13:26   ` Arno Steffen [this message]
2011-03-14 14:47     ` Kurt Van Dijck
2011-03-24 11:56       ` Arno Steffen
2011-03-24 14:45         ` Kurt Van Dijck
2011-03-25  8:46           ` Arno Steffen
2011-03-25  9:53             ` Kurt Van Dijck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AANLkTikCSE3xOYsAnSJQQnW9iTrwbvoscU8hikkewGh6@mail.gmail.com \
    --to=arno.steffen@googlemail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).