From owner-freebsd-net Mon Aug 23 23:29:48 1999 Delivered-To: freebsd-net@freebsd.org Received: from gilliam.users.flyingcroc.net (gilliam.users.flyingcroc.net [207.246.128.2]) by hub.freebsd.org (Postfix) with ESMTP id 9C14415967 for ; Mon, 23 Aug 1999 23:29:13 -0700 (PDT) (envelope-from ross@gilliam.users.flyingcroc.net) Received: (from ross@localhost) by gilliam.users.flyingcroc.net (8.9.3/8.9.3) id XAA04889; Mon, 23 Aug 1999 23:28:30 -0700 (PDT) Date: Wed, 18 Aug 1999 13:22:00 -0700 (PDT) Message-Id: <199908240628.XAA04889@gilliam.users.flyingcroc.net> From: Julian Elischer To: net@FreeBSD.ORG Subject: [Fwd: Samba 2.0.5 on FreeBSD 3.1-RELEASE - very very slow writing to Samba from win98] (fwd) Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Ok, here is a problem.... Samba (the newest version) has slowed down on FreeBSD by an order of magnitude. The cnage that was made was to replace soem read() calls from sockets to recv() calls, and making use of the MSG_WAITALL flag. Under alltheother Unix versions, (inc linux) this has resulted in a smaller number of syscalls. They don't want to have a #ifdef __FreeBSD__ in the sources so they have asked for help in isolating the problem. Here is a piece of email that details some specifics... anyone have any ideas? I looked at the code in soreceive() and it doesn't seem to have changed for ages, and (to brief inspection) seems to be correct. (as regards to MSG_WAITALL anyhow). julian ---------- Forwarded message ---------- Date: Wed, 18 Aug 1999 09:17:42 -0700 From: Jeremy Allison To: Julian Elischer Subject: [Fwd: Samba 2.0.5 on FreeBSD 3.1-RELEASE - very very slow writing to Samba from win98] Julian - confirmation it's the MSG_WAITALL flag that's causing the problem. Jeremy. Johan Kerckaert wrote: > > Hi, > > Jeremy Allison wrote: > > Ok, thanks for the confirmation. Now I nweed to work out > > with the FreeBSD guys why this change has such a great > > effect. It may be that the use of the MSG_WAITALL flag in > > the recv() call is causing problems. > > Indeed, I tried replacing the MSG_WAITALL flag with 0 in the recv () calls, > in util_sock.c, and then it's ok > Using recv calls is also faster than using read calls: > I got 1.3 Mb/s using read, 1.6 Mb/s using recv () with no flags, on a 100 Mbit > crossover. > > Kind regards, > -- > Johan Kerckaert > BricsNet -- -------------------------------------------------------- Buying an operating system without source is like buying a self-assembly Space Shuttle with no instructions. -------------------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message