[prev in list] [next in list] [prev in thread] [next in thread] 

List:       uclinux-dev
Subject:    [uClinux-dev] PREEMPT_RT
From:       "Falk Brettschneider" <falk.brettschneider () gmx ! de>
Date:       2008-06-25 10:57:54
Message-ID: 20080625105754.37530 () gmx ! net
[Download RAW message or body]

Hi,
has anybody ported the PREEMPT_RT patch to uClinux (best would be kernel 2.6.20, \
microblaze) or can say if it would help for the following problem?:

My system is microblaze, kernel 2.6.20, kernel preemption patch (CONFIG_PREEMPT) \
enabled.

I wrote a Linux kernel driver that just notifies IRQs in its ISR and wakes a \
wait_queue where my SCHED_RR user-application (in user space) is waiting on it while \
sleeping in poll(). Normally, the user app is scheduled next and poll() awakes quite \
fast (0.5msec). But if concurrently another process is sending much data via TCP/IP I \
see the behaviour that the TCP stack (which is runing in software by the Linux kernel \
itself) locks kernel preemption for up to 10 msecs. For example, when tcp_sendmsg \
cannot skb_alloc new packets and jumps to label wait_for_memory, where it calls \
release_socket() for waiting till packets are available again. This blocking call \
also blocks preemption for any reasons. In such time window my driver can collect \
IRQs in its ISR but the scheduler is blocked and my user app doesn't wake up. \
Although it has the highest SCHED_RR priority in the whole system. I've seen other \
scenarios with similar behaviour.

I'm wondering if PREEMPT_RT would help for e.g. such scenario?
Any other idea is highly appreciated. :-)

I know Linux is not a realtime OS but I'd like to tune it that TCP/IP doesn't block \
the scheduler for such IRQ translating from Linux driver to SCHED_RR application.

Cheers, Falk

-- 
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten 
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic