From: Mike H. <mho...@gr...> - 2004-11-08 04:40:32
|
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 > we...@ps... > > > >------------------------------------------------------- >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 >Chr...@li... >https://lists.sourceforge.net/lists/listinfo/chromium-dev > > |