Re: UDP jitter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 8 Nov 2013, Stanislav Meduna wrote:
> On 08.11.2013 12:30, Thomas Gleixner wrote:
> 
> > The default queue of the network stack is a single fifo queue. So what
> > are you expecting from a single queue? That it's magically allowing
> > your high priority task to succeed? And just because you are too lazy
> > or unable to understand the concepts of advanced networking you join
> > the choir and shout "priority inversion"?
> 
> I did not meant the priority inversion in the strict thread running/blocked
> sense. If the
> 
>   On 08.11.2013 11:51, eg Engleder Gerhard wrote:
> 
>   > In my situation the transmission of the packet from the high-prio
>   > thread is delayed until the low-prio thread is scheduled again.
> 
> is true then to me it is a kind of priority inversion.

It's a simple queueing problem. FIFO queue:

     This principle states that customers are served one at a time and
     that the customer that has been waiting the longest is served
     first. It also implies that the customer who arrived last will
     have to wait until all others before him have been served.
 
That's exactly what happening here. No matter how important you
believe to be, you still have to wait in the line, if there is only a
single one. There is a reason why busses have reserved lanes in big
cities.

> > Hell no, there is no way to cure blissful ignorance with kernel
> > patches.
> 
> The thing is that the userspace developers assume things. In this
> case they assume that if a higher prio thread wants to send
> a network packet and the send() returns, the maximum time until
> that one packet gets out on the wire is the time all the already
> queued packets need to get out. If this is true, I'm perfectly
> fine - but from what Nebojsa and Gerhard are writing I have
> my doubts and I am a bit scared as it can affect what we are
> doing. As my job is not a kernel developer, I have to trust
> others on this...
> 
> If not, I would not call it ignorance. This is IMHO a reasonable
> assumption.

It seems there are really frightening assumptions made when it comes
to real time systems. Stuff does not get magically deterministic just
by throwing a real time kernel at it and by setting priorities.

real time systems always must be carefully designed, and if your
system requires deterministic networking, you have to understand how
networking works. Nobody is asking a user space developer to grok the
kernel internals, but understanding the basic principles of technology
on which an application depends on, is still required.

If people developing real time systems just make uninformed
assumptions and then blame the kernel for getting it wrong, I call
that ignorance.

Thanks,

	tglx

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




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux