rainer stillhard

MQX Performance problem after open a socket

Discussion created by rainer stillhard on Jan 7, 2010
Latest reply on Feb 3, 2010 by Michel Vinez


I got a problem:

After i have opened and closed a Socket, the whole system is much slower than before.

It seemd like a Interrupt is permanently pending, but it doesn't.

The Task, that contains my socket, sleep after shutdown my accepted socket,

but some influence infects the whole MQX.


I start Ethernet :

_RTCSQUEUE_base = DriverTaskTCPIPMBXQ_Base_No;

//Netzwerktreiber laden

_RTCSTASK_priority = 9;

_RTCSPCB_max = 20;

_TCP_bypass_rx = true;

_TCP_bypass_tx = true;

rtcsResult = ENET_initialize(ENET_DEVICE, m_Mac_Addr, 0, &ehandle);

rtcsResult = ENET_initialize(ENET_DEVICE, m_Mac_Addr, 0, &ehandle);

rtcsResult = RTCS_if_bind(ihandle, m_IPAddress, m_SubnetMask);


And accept the Socket after selectset:

remotesock = RTCS_selectset(m_socklist, m_sockCount, 0);

m_childsock = accept(remotesock, &TCPIP::ms_Adr.EchoSock[0].Addr, &rlen);

setsockopt(m_childsock, SOL_TCP, OPT_RECEIVE_NOWAIT, &opt_value, opt_length);

setsockopt(m_childsock, SOL_TCP, OPT_SEND_NOWAIT, &opt_value, opt_length);


I am using MQX 2.5 and RTCS lite on a ColdFire Proc 5235.