Re: Fix to comm buffer leak for upstream-going messages

Mike Houston <[email protected]> Sun, 07 Nov 2004 20:40:07 -0800
Newsgroups gmane.comp.graphics.chromium.devel
Message-ID <[email protected]>
This looks like a sane change to me at quick glance, but I'd have to 
trace through the network layer more carefully to be sure.  The only 
concern I have is whether there is a possible race, but it looks like 
that is handled through locking in the network layer.  I'd say check it 
in and people can yell and scream if it causes badness.  This might fix 
some allocation stumbling in the tcpip layer as well since we will 
recover buffers correctly. 

However, a cleaner change would probably to be to look at the network 
layer as a whole to see why messages are not being freed on completion 
notification.  This example is more evidence that we need to take a hard 
look at the network layer and possibly rewrite some of the core.

-Mike

Joel Welling wrote:

>Hi folks;
>  It looks to me like every time a CR_MESSAGE_READ_PIXELS, WRITEBACK, or 
>READBACK is sent upstream the communications buffer is never freed.  I have a 
>patch to packspu_net.c, replicatespu_net.c, tilesortspu_net.c, and net.c where 
>crNetFree(conn,buf); is added after the appropriate bit of the case 
>statements.  For example, in packspu_net.c the code becomes:
>
>  		case CR_MESSAGE_READ_PIXELS:
>  			packspuReadPixels( &(msg->readPixels), len );
>  			crNetFree(conn,buf);
>  			break;
>  		case CR_MESSAGE_WRITEBACK:
>  			packspuWriteback( &(msg->writeback) );
>  			crNetFree(conn,buf);
>  			break;
>  		case CR_MESSAGE_READBACK:
>  			packspuReadback( &(msg->readback), len );
>  			crNetFree(conn,buf);
>  			break;
>  		default:
>  			/*crWarning( "Why is the pack SPU getting a message of type 0x%x?", msg->
>type ); */
>
>  Before I check this in, can someone who knows the network layer look at this 
>and verify that I'm talking sense?  I know this fix allows my application to 
>run on Quadrics without running out of Quadrics card memory.
>
>Thanks,
>-Joel
> [email protected]
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by:
>Sybase ASE Linux Express Edition - download now for FREE
>LinuxWorld Reader's Choice Award Winner for best database on Linux.
>http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
>_______________________________________________
>Chromium-dev mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/chromium-dev
>  
>


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click