[Libwebsockets] [libwebsockets] #59: libwebsockets on powerpc

Graham Newton gnewton at peavey-eu.com
Tue Mar 25 17:27:00 CET 2014


I have libwebsockets working on a 200MHz PowerPC Linux system.  I didn't 
try the paint test as my system is an embedded headless system.  However 
I did have rewrite the application code based on the basic test server 
code to be aware of my specific application. In particular I had to use 
the websockets flow control mechanism to prevent data loss and utilise 
blocking on sockets, which libwebsockets does anyway, to keep the CPU 
usage down.  This is the nature of resource constrained systems, you 
have to develop the code to get the best performance from the platform.
  Graham

On 25/03/14 14:14, Trac wrote:
> #59: libwebsockets on powerpc
> ------------------------------------+-----------------
>   Reporter:  luckytrack              |      Owner:
>       Type:  defect                  |     Status:  new
>   Priority:  major                   |  Milestone:
> Component:  libwebsocket test apps  |    Version:
>   Keywords:                          |
> ------------------------------------+-----------------
>   I compiled libwebsockets for a 400-MHz powerpc linux system, which worked
>   fine. Then i tried the libwebsockets-test-server, which also seemed to
>   work, but somehow only updates the counter on the test-page about every
>   ~200 ms, instead of the 50ms updates i get on a x86 system. Also the
>   mirror-test does not seem to work very well, when i try to draw a straight
>   line in one client, the other client just seems to get fragments of that
>   line. When moving the mouse very slowly, it seems to work better. My first
>   guess would have been that the system is just too slow, but the cpu usage
>   stays very low, typically under 5%, during the tests.
>
>   Strace output of the counter operation of the test-server:
>   15:24:20.629276 poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8,
>   events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:20.679824 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:20.730374 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:20.780925 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 1 ([{fd=7,
>   revents=POLLOUT}])
>   15:24:20.829279 send(7, "\201\0014", 3, MSG_NOSIGNAL) = 3
>   15:24:20.829799 poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8,
>   events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:20.880347 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:20.930898 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:20.981449 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 1 ([{fd=7,
>   revents=POLLOUT}])
>   15:24:21.030184 send(7, "\201\0015", 3, MSG_NOSIGNAL) = 3
>   15:24:21.030707 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:21.081261 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:21.131814 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 0 (Timeout)
>   15:24:21.182364 poll([{fd=5, events=POLLIN}, {fd=7,
>   events=POLLIN|POLLOUT}, {fd=8, events=POLLIN}], 3, 50) = 1 ([{fd=7,
>   revents=POLLOUT}])
>
> --
> Ticket URL: <http://libwebsockets.org/trac/libwebsockets/ticket/59>
> libwebsockets <http://libwebsockets.org>
> libwebsockets C library
> _______________________________________________
> Libwebsockets mailing list
> Libwebsockets at ml.libwebsockets.org
> http://ml.libwebsockets.org/mailman/listinfo/libwebsockets

-- 
Graham Newton
Senior Software Engineer
------------------------------------------------------------------------
Peavey Digital Research
A Division of Peavey Electronics Corporation


Phone 	+44 1865 734397
Direct 	+44 1865 734397
Email 	gnewton at peavey-eu.com
Web 	www.peaveycommercialaudio.com 
<http://www.peaveycommercialaudio.com> - mm.peavey.com 
<http://mm.peavey.com> - www.crestaudio.com <http://www.crestaudio.com> 
- aa.peavey.com <http://aa.peavey.com> - www.peaveyoxford.com 
<http://www.peaveyoxford.com>


*PEAVEY COMMERCIAL AUDIO* - Great Folds Road, Corby, Northamptonshire, 
NN18 9ET UK
*PEAVEY DIGITAL RESEARCH* - 6 Elm Place, Eynsham, Oxfordshire OX29 4BD UK
*PEAVEY ITALIA* - Via P.La Torre 21, Zona Ind.le Cerretano, 60022 
Castelfidardo An, Italy
*PEAVEY CHINA* - 1F Taiping Yaoye, 3 Gongye Wu Lu, Shekou, Shenzhen 
China 518067
*PEAVEY ELECTRONICS CORPORATION* - 5022 Hartley Peavey Drive, Meridian, 
MS 39305 USA


Peavey Electronics Limited is a registered company in England & Wales, 
Company Registration No.: 01249126
Registered office: GREAT FOLDS ROAD OAKLEY HAY CORBY NORTHAMPTONSHIRE. 
NN18 9ET

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://libwebsockets.org/pipermail/libwebsockets/attachments/20140325/d5e85dd3/attachment-0001.html>


More information about the Libwebsockets mailing list