All of lore.kernel.org
 help / color / mirror / Atom feed
From: Iratxo Pichel Ortiz <ipichel@albentia.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>,
	"Iratxo Pichel Ortiz" <ipichel@albentia.com>,
	"Noelia Morón" <nmoron@albentia.com>,
	"'Rodrigo Partearroyo'" <rpartearroyo@albentia.com>
Subject: Re: NOHZ: local_softirq_pending - More info without need for specific code.
Date: Tue, 16 Jun 2009 11:26:49 +0200	[thread overview]
Message-ID: <4A376559.5060604@albentia.com> (raw)
In-Reply-To: <4A376450.5020209@albentia.com>

Thomas,

More info below, I hope it helps.

Iratxo Pichel Ortiz wrote:
> Thomas,
>
> Iratxo Pichel Ortiz wrote:
>>>>  2.6.29-rt16, right ?
>>>>       
>>> I have also tried rt18, but as I had thought seeing change-logs, the
>>> behavior is exactly the same.
>>>     
> You were right here :) It was 29.
>>> Do you know what could be causing this issue. I have managed to 
>>> repeat this
>>> traces (NOHZ...) without using my code, using a workqueue and in the 
>>> work
>>> just by doing something like:
>>>
>>> work_func() {
>>>   mdelay(10);
>>>   msleep(10);
>>>
>>>  queue_work(myqueue, mywork);
>>> }
>>>
>>> And then by heavy loading the box from the outside.
>>>     
> I have written a very small module that causes the
> "local_softirq_pending" under not some load. Please find code at the end
> of this email. Here is pasted some traces of dmesg (I have increased the
> ratelimit of the "NOHZ: local..." trace to 250.
>
> The only strange thing here is that I am calling "set_workqueue_prio" (I
> have hacked source to export this symbol), and I am starting to think
> that this could not be a good idea. Any hints about this?
>
> [  648.954000] NOHZ: local_softirq_pending
> 0e
>
> [  648.955000] NOHZ: local_softirq_pending
> 0e
>
> [  648.956000] NOHZ: local_softirq_pending
> 0e
I have changed the implementation of the module test to use kthreads
instead of workqueues. The behavior is exactly the same. I have tried
with prios from 1 to 99. Please find the code below as before. I have
also atached the differente softirqs codes that had been pending in some
of the tests.
>
>
>>>> Does it work when you disable CONFIG_NOHZ ?
>>>>       
> Still pending to test.
>>> I will try this and let the list know.
>>>    
>>>> Thanks,
>>>>
>>>>        tglx
>>>>     
Thanks a lot again!

    Iratxo.

---- DMESG ----
[4294833.294000] NOHZ: local_softirq_pending
06
[4294833.295000] NOHZ: local_softirq_pending
06
[4294834.246000] NOHZ: local_softirq_pending
02
[4294834.247000] NOHZ: local_softirq_pending
02
[4294834.248000] NOHZ: local_softirq_pending 02

---- Test module code ----

#include <linux/module.h>
#include <linux/kthread.h>
#include <linux/sched.h>
#include <linux/delay.h>

#define LATENCY_PRIO    1

struct task_struct *t;

int LatencyzerWork(void* data)
{
    static int count;

    while(1) {
        /* Busy and normal waiting */
        mdelay(10);
        msleep(1);

    /* Requeue work */
    if(count++ > 400000)
        break;
    }

    printk("LAT: Count reached %d, stopped latencying\n", count);
    return 0;
}

int __init LatencyzerInit(void)
{
    struct sched_param schedp;

    /* Prepare Thread */
    printk("LAT: Initializing latencyzer\n");
    if(!(t = kthread_create(LatencyzerWork, NULL, "LATENCY"))) {
        printk("LAT: Error creating thread\n");
        return -1;
    }

    /* Change task prio */
    schedp.sched_priority = LATENCY_PRIO;
    sched_setscheduler(t, SCHED_FIFO, &schedp);
    printk("LAT: Task prio set to %u\n", LATENCY_PRIO);

    /* Run thread */
    wake_up_process(t);
    return 0;
}

void __exit LatencyzerExit(void)
{
    printk("LAT: Latencyzer exiting...");

    /* Done here */
    kthread_stop(t);
    printk(" DONE\n");

    return;
}

module_init(LatencyzerInit);
module_exit(LatencyzerExit);
MODULE_LICENSE("GPL");


-- 
Iratxo Pichel Ortiz
Software Development Manager

Albentia Systems S.A.
http://www.albentia.com

Tel: +34 914400567
Cel: +34 663808405
Fax: +34 914400569

C\Margarita Salas 22
Parque Tecnológico de Leganés
Leganés (28918)
Madrid
Spain


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2009-06-16  9:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-14 15:28 NOHZ: local_softirq_pending Iratxo Pichel Ortiz
2009-06-14 19:50 ` Iratxo Pichel Ortiz
2009-06-15 13:19   ` Thomas Gleixner
2009-06-15 14:38     ` Iratxo Pichel Ortiz
     [not found]       ` <8e6b7a710906160101x6a8ae9d5qa7638627f513278@mail.gmail.com>
2009-06-16  8:26         ` NOHZ: local_softirq_pending - More info without need for specific code Iratxo Pichel Ortiz
     [not found]         ` <4A376450.5020209@albentia.com>
2009-06-16  9:26           ` Iratxo Pichel Ortiz [this message]
2009-06-16 14:45             ` NOHZ: local_softirq_pending Iratxo Pichel Ortiz
2009-06-16 18:39               ` Iratxo Pichel Ortiz
2009-06-17 22:03                 ` Thomas Gleixner
2009-06-17 22:35                   ` Iratxo Pichel Ortiz
2009-06-17 23:46                     ` Thomas Gleixner
2009-06-18  0:33                       ` Iratxo Pichel Ortiz
2009-06-18  8:57                         ` Thomas Gleixner
2009-06-18 16:52                           ` Iratxo Pichel Ortiz

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=4A376559.5060604@albentia.com \
    --to=ipichel@albentia.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=nmoron@albentia.com \
    --cc=rpartearroyo@albentia.com \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.