My NIC driver cannot send and recieve in parallel!


 
Thread Tools Search this Thread
Top Forums Programming My NIC driver cannot send and recieve in parallel!
# 1  
Old 06-17-2012
My NIC driver cannot send and recieve in parallel!

Hi, all:

My writed NIC driver for rtl8139d adapter on linux 3.0.4 cannot send and recieve simultaneously but is able to send or recieve in parallel respectively. As soon as it send and recieve at the same time, the transmmition rate on both directions gradually decrease to zero b/s and report "stalled" at the end. One interesting phenomenon is that when sending and recieving in parallel the packet size is ofen very small such as 66 bytes, 140bytes and so on. Is this a clue to find the bug?

At beginning I suspect something wrong in the use of spinlock, after my carefully check, however, I could not find any problem. I use two spinlocks, one is for sending the other is for recieving in the interrupt handler.

So, what and where is the cause of this problem? Could anybody give me some idea?


li,kunlun
# 2  
Old 06-18-2012
It's not that it can't work in "parallel", it's that your code is deadlocking...

We cannot possibly say without seeing your code...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Finding the NIC driver version on Solaris 11

In Solaris 10 it was easy, a simple grep through modinfo output and you'd have the version of any loaded module, including your NIC drivers. In my career I've seen many people relying on this information in their scripts. Now I'm on Solaris 11, and where have the version numbers gone? The... (0 Replies)
Discussion started by: cambridge
0 Replies

2. UNIX for Advanced & Expert Users

My NIC driver couldn't send and recieve data simultaneously?

Hi, all: My writed NIC driver for rtl8139d adapter on linux 3.0.4 cannot send and recieve simultaneously but is able to send or recieve in parallel respectively. As soon as it send and recieve at the same time, the transmmition rate on both directions gradually decrease to zero b/s and report... (0 Replies)
Discussion started by: liklstar
0 Replies

3. Solaris

Packaging driver for NIC

Hi guys My friend needs nfo driver for his Solaris box. I installed that driver for myself from scratch and he needs that driver in SVR4 format. I downloaded source code and run make and this is the point I don't how to proceed. How can I recognize which needs go to the package ? Does make... (0 Replies)
Discussion started by: solaris_user
0 Replies

4. Solaris

x86 Solaris 10 nic driver added but not attached. NIC is not detected.

I couldn't install my nic in solaris 10. I compiled and added the driver but failed to attach the driver and ifconfig output shows only loopback dev. Please see the following output and tell me whether my nic has been detected and why the driver failed to attach? My nic is detected in linux... (0 Replies)
Discussion started by: vectrum
0 Replies

5. UNIX for Advanced & Expert Users

How does a NIC driver activate with upper layer mutually?

Hi, all: How can I know whether the packets recieved from network by my own NIC driver are transmitted to upper layer(IP layer) or not? How can I know if the packets come from upper layer are passed to my own NIC driver and go out further? Is there any shell command or utility show... (9 Replies)
Discussion started by: liklstar
9 Replies

6. AIX

Sample C program to Send/Recieve a file using Socket

Hi All, I urgently need a Sample C program to Send/Recieve a file using Socket. Thanks Sara (1 Reply)
Discussion started by: saraperu
1 Replies

7. IP Networking

NIC driver guide

Hi I need to know how a driver for a network interface card works, I want to learn the basic principles since I know that every driver has its specific implementation. For example when we speak about the scheduler, we can read an operating system book and learn general design concepts e.g.... (0 Replies)
Discussion started by: Puntino
0 Replies

8. UNIX for Dummies Questions & Answers

What is my UDP send/recieve buffer size

Hi, If some one was to suggest, "increase your kernal tunables related to UDP, in particular the UDP send/recieve buffer size".... then what would they mean? :confused: How can I find out what this current value is? Thousand many thanks. Neil (3 Replies)
Discussion started by: nhatch
3 Replies

9. UNIX for Advanced & Expert Users

NIC Driver

Hi:- I am trying to install a device driver for Intel NIC card on TurboLinux, but getting following errors, cc -O -Wall -o eepro100-diag eepro100-diag.c eepro100-diag.c:72: unistd.h: No such file or directory eepro100-diag.c:73: stdio.h: No such file or directory eepro100-diag.c:74:... (1 Reply)
Discussion started by: s_aamir
1 Replies

10. UNIX for Dummies Questions & Answers

NIC driver building question

I'm way confused. I loaded RH 7.1 on an old P-75 Compaq. IT has an EtherExpress pro/100 card in it and I have that attached to the optional port on our firewall with a crossover....I can't seem to get the card to negotiate with the firewall...it's currently 100Meg at Half duplex. I'm at a loss... (3 Replies)
Discussion started by: kwalter
3 Replies
Login or Register to Ask a Question