--- zzzz-none-000/linux-2.4.17/net/socket.c 2001-12-21 17:42:06.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/net/socket.c 2004-11-24 13:22:09.000000000 +0000 @@ -75,6 +75,8 @@ #include #include +#include + #if defined(CONFIG_KMOD) && defined(CONFIG_NET) #include #endif @@ -133,7 +135,7 @@ static struct net_proto_family *net_families[NPROTO]; -#ifdef CONFIG_SMP +#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT) static atomic_t net_family_lockct = ATOMIC_INIT(0); static spinlock_t net_family_lock = SPIN_LOCK_UNLOCKED; @@ -504,6 +506,8 @@ int err; struct scm_cookie scm; + TRACE_SOCKET(TRACE_EV_SOCKET_SEND, sock->type, size); + err = scm_send(sock, msg, &scm); if (err >= 0) { err = sock->ops->sendmsg(sock, msg, size, &scm); @@ -518,6 +522,8 @@ memset(&scm, 0, sizeof(scm)); + TRACE_SOCKET(TRACE_EV_SOCKET_RECEIVE, sock->type, size); + size = sock->ops->recvmsg(sock, msg, size, flags, &scm); if (size >= 0) scm_recv(sock, msg, &scm, flags); @@ -705,6 +711,7 @@ { struct socket *sock = socki_lookup(file->f_dentry->d_inode); + vma->vm_flags &= ~VM_IO; return sock->ops->mmap(file, sock, vma); } @@ -920,6 +927,8 @@ if (retval < 0) goto out_release; + TRACE_SOCKET(TRACE_EV_SOCKET_CREATE, retval, type); + out: /* It may be already another descriptor 8) Not kernel problem. */ return retval; @@ -1557,6 +1566,8 @@ a0=a[0]; a1=a[1]; + + TRACE_SOCKET(TRACE_EV_SOCKET_CALL, call, a0); switch(call) {