This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FreeBSD-stack ping is unresponsive upon low priority thread spending 100% CPU


I've got a thread running at low priority
that is spending 100% of available CPU. The application is a
telnet command line.

While this low priority threads is using 100% CPU, then ping
is unresponsive. No packets are lost though.... when the low
priority yields the CPU again, all ping packets are returned.

However, when no connections are currently open(no
telnet session in progress), ping works fine even if the
same low priority thread spends 100% of the CPU...

I would have said that preemptive multithreading was
disabled somehow(scheduler lock count problems), except
that I would have expected the idle thread never to yield
the CPU to another thread then...

Below shows my app (pthread.00000800) running at
priority 15, i.e. lower than all other threads except idle
thread.

> threads
{{Idle Thread} RUN 1 31 31}
{{Network alarm support} RUN 2 6 6}
{{Network support} SLEEP 3 7 7}
{pthread.00000800 RUN 4 15 6}
{{DHCP lease mgt} SLEEP 5 8 8}
{{TFTP server} SLEEP 6 10 10}
{{HTTPD Thread} SLEEP 7 16 16}
{{uart thread} SLEEP 8 1 1}

-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 XScale Cortex
JTAG debugger and flash programmer

Free eCos workshop in Oslo October 21!
http://www.zylin.com/workshop.html

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]