io-net thread priority

Hi,

I am wondering if it is possible to change the priority of a NICs rx thread.
It seems everytime I try to change the priority of these threads, once a
packet is received, the thread goes back to its initial priority. Is this
the correct thread to alter the priority of, if I want to ensure that an
interrupt from the NIC will preempt other threads in io-net (filter). I am
using devn-el900 in promiscuous mode on two nics, with a cpu intensive
filter between the IP stack and and the en->ip converter.

Also, since the filter uses a lot of CPU, would it be more efficient (low
packet loss) to have a seperate process, with the packets passed from the
filter into another process somehow, or should it all remain in io-net? If
I turn up the priority of my thread that does most of the work, it process
the packet queue fairly quickly (almost instantly), but a few incoming
packets get dropped, and if i lower the priority, the thread takes a LONG
time to process the queue, but no packets are ever dropped.

Matt Thompson - mthompson@infinity-its.com
Software Developer
Infinity Technology Services (ITS) Inc.
www.infinity-its.com

Matt Thompson <mthompson@infinity-its.com> wrote:

Hi,

I am wondering if it is possible to change the priority of a NICs rx thread.
It seems everytime I try to change the priority of these threads, once a
packet is received, the thread goes back to its initial priority. Is this
the correct thread to alter the priority of, if I want to ensure that an
interrupt from the NIC will preempt other threads in io-net (filter). I am
using devn-el900 in promiscuous mode on two nics, with a cpu intensive
filter between the IP stack and and the en->ip converter.

I believe rx thread is triggered by the interrupt, so the priority
followed the priority in the pulse (InterruptAttachEvent), so you
just need to change the priority in the pulse (I think it’s already
19 or sth, no?).

-xtang

Also, since the filter uses a lot of CPU, would it be more efficient (low
packet loss) to have a seperate process, with the packets passed from the
filter into another process somehow, or should it all remain in io-net? If
I turn up the priority of my thread that does most of the work, it process
the packet queue fairly quickly (almost instantly), but a few incoming
packets get dropped, and if i lower the priority, the thread takes a LONG
time to process the queue, but no packets are ever dropped.

Matt Thompson - > mthompson@infinity-its.com
Software Developer
Infinity Technology Services (ITS) Inc.
www.infinity-its.com

“Xiaodan Tang” <xtang@qnx.com> wrote in message
news:9hafn9$8k3$1@nntp.qnx.com

Matt Thompson <> mthompson@infinity-its.com> > wrote:
Hi,

I am wondering if it is possible to change the priority of a NICs rx
thread.
It seems everytime I try to change the priority of these threads, once a
packet is received, the thread goes back to its initial priority. Is
this
the correct thread to alter the priority of, if I want to ensure that an
interrupt from the NIC will preempt other threads in io-net (filter). I
am
using devn-el900 in promiscuous mode on two nics, with a cpu intensive
filter between the IP stack and and the en->ip converter.

I believe rx thread is triggered by the interrupt, so the priority
followed the priority in the pulse (InterruptAttachEvent), so you
just need to change the priority in the pulse (I think it’s already
19 or sth, no?).

-xtang

Since I am using the RTP 6.1.0 bundled 3Com 905 driver, there is no way for
me to change the priority of the pulse, right?

-Matt

Also, since the filter uses a lot of CPU, would it be more efficient
(low
packet loss) to have a seperate process, with the packets passed from
the
filter into another process somehow, or should it all remain in io-net?
If
I turn up the priority of my thread that does most of the work, it
process
the packet queue fairly quickly (almost instantly), but a few incoming
packets get dropped, and if i lower the priority, the thread takes a
LONG
time to process the queue, but no packets are ever dropped.

Matt Thompson - > mthompson@infinity-its.com
Software Developer
Infinity Technology Services (ITS) Inc.
www.infinity-its.com

Xiaodan Tang <xtang@qnx.com> wrote:

just need to change the priority in the pulse (I think it’s already
19 or sth, no?).

21 actually.

chris

\

cdm@qnx.com > “The faster I go, the behinder I get.”

Chris McKillop – Lewis Carroll –
Software Engineer, QSSL
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Matt Thompson <mthompson@infinity-its.com> wrote:

Since I am using the RTP 6.1.0 bundled 3Com 905 driver, there is no way for
me to change the priority of the pulse, right?

That is correct.

chris

cdm@qnx.com > “The faster I go, the behinder I get.”

Chris McKillop – Lewis Carroll –
Software Engineer, QSSL
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<