[Myrinet] [Q] two questions about Myrinet

Moon-Sang Lee <[email protected]>
Newsgroups gmane.network.myrinet.general
Message-ID <[email protected]>
Hello. I'm developing my own MCP on M2L-PCI64B NIC. 
I had been stucked to some strange problems and finally resolved my bugs(?).
Anyway, I have two questions about what I've experienced. 

1. When I am waiting for a DMA completion polling on the 'next' field of 
   DMA_BLOCK structure, I found that a special case DMA does not finish
   forever. The case was a single DMA block of which the 'next' field 
   pointing to itself. 

	example: 
		DMA_BLOCK dma_block;

		blur blur blur (1)
		dma_block->next = (&dma_block | direction | DMA_WAKE);
		while(!((dma_block->next) & DMA_TERMINAL));
		blur blur blur (2)

	In the above simple code, I can't reach line number (2) some times.

2. When I send a packet to a link, I got a similar situation. If I 
   set the 'SML' register and wait for a SEND_INT bit, I got a dirty 
   packet which was sent from a remote node. I set the timeout register
   as large as possible (i.e. TIMEOUT0 | TIMOUT1). But my MCP displays
   different packet contents from that of the packet sent. 

	example:

		blur blur blur
		send_packet();	// send a packet to a remote node
		while(!(ISR & SEND_INT_BIT));
		blur blur blur

		while(!(ISR & RECV_INT_BIT));
		recv_packet();	// receive a packet from a remote node	
		// I got a packet which shows dirty back-ends.

	The above situation is not deterministic. So I guess there may be race 
	condition. I don't know what is going on exactly.  Could anybody explain		why I got such phenomena?

Thank you for reading..


with regards,
sang



------------Korea Advanced Institute of Science and Technology-------------
Moon-Sang Lee	    [email protected]
CS dept. KAIST      +82-42-869-5585@calab  
Sarang Kwan. 524    +82-42-879-4145@dormitory
Homepage URL        http://camars.kaist.ac.kr/~mslee
---------------------Computer Architecture Laboratory----------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.