RE: TDI client driver Vs. user mode sockets applicati on

TDI is Microsoft specific too.

I suggest you to separate communication layer with rest of software by
defining a abstract interface. Then use a DLL (on Windows) and a shared
library on Unix. Hence your software will be portable to various platforms.
Anything in the kernel is not going to be cross platform anyway.

By the way, BSD socket is too old and too inefficient. There are works going
on write new socket model on Linux.

Another choice is to use ACE, which is a cross platform library. However I
loath the overhead and code bloating it brings.

Bi

-----Original Message-----
From: Anton Kolomyeytsev [mailto:xxxxx@cooldev.com]
Sent: Tuesday, December 03, 2002 11:17 PM
To: NT Developers Interest List
Subject: [ntdev] RE: TDI client driver Vs. user mode sockets application

Bi,

  1. both user and kernel mode.
  2. cannot do this. User mode implementation runs not only under Windows.
  3. that’s why I’m asking. For now we have performance degradation, no
    boost.

So the question is still opened. How much should we expect in theory for a
good sockets -> TDI client driver port.

Thanks!

Anton Kolomyeytsev

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C29B20.1F153EE0
Content-Type: text/plain;
charset=“iso-8859-1”

It all depends your client software is sitting in user mode or kernel
mode.
If it is in user mode, by all means use winsock and use WSAXXX instead of
BSD. If it is kernel mode, then TDI is a good choice since it saves you a
lot of kernel mode/user mode boundary crossing and prcoess/thread context
switching.

Bi

-----Original Message-----
From: Anton Kolomyeytsev [mailto:xxxxx@cooldev.com]
Sent: Tuesday, December 03, 2002 5:05 AM
To: NT Developers Interest List
Subject: [ntdev] TDI client driver Vs. user mode sockets application

Hi,

is there any statistics how fast TDI client drivers are comparing with
user mode sockets applications? As I understand there are two different
cases. 1) socket application that is just ported to kernel with the
BSD-like sockets wrapper over TDI. 2) application ported “on the idea”
level. I mean the one that is just re-written keeping in mind all TDI
client driver programming issues.

In our case we have 5%-7% performance degradation when porting user mode
application “AS IS” (I still beleive that’s double buffering problem with
the send operation) and 0% difference with totally re-written application.

As we’ve never performed such a task before (were writing either only user
mode solutions or only kernel mode ones) I’d like the ask the gurus. What
numbers changing (both sides) should we expect when moving the network
code from user mode to kernel? Both cases (“AS IS” port and just
ideological port on the idea level).

Thank you!

Anton Kolomyeytsev


You are currently subscribed to ntdev as: xxxxx@appstream.com
To unsubscribe send a blank email to %%email.unsub%%

------_=_NextPart_001_01C29B20.1F153EE0
Content-Type: text/html;
charset=“iso-8859-1”
Content-Transfer-Encoding: quoted-printable

> charset=3Diso-8859-1">
> 5.5.2653.12">

RE: [ntdev] TDI client driver Vs. user mode sockets =
> application

It all depends your client software is sitting in =
> user mode or kernel mode. If it is in user mode, by all means use =
> winsock and use WSAXXX instead of BSD. If it is kernel mode, then TDI =
> is a good choice since it saves you a lot of kernel mode/user mode =
> boundary crossing and prcoess/thread context switching.

Bi

-----Original Message-----

From: Anton Kolomyeytsev [> HREF=3D"mailto:xxxxx@cooldev.com">mailto:xxxxx@cooldev.com]

Sent: Tuesday, December 03, 2002 5:05 AM

To: NT Developers Interest List

Subject: [ntdev] TDI client driver Vs. user mode =
> sockets application

Hi,

is there any statistics how fast TDI client drivers =
> are comparing with

user mode sockets applications? As I understand =
> there are two different

cases. 1) socket application that is just ported to =
> kernel with the

BSD-like sockets wrapper over TDI. 2) application =
> ported “on the idea”

level. I mean the one that is just re-written =
> keeping in mind all TDI

client driver programming issues.

In our case we have 5%-7% performance degradation =
> when porting user mode

application “AS IS” (I still beleive =
> that’s double buffering problem with

the send operation) and 0% difference with totally =
> re-written application.

As we’ve never performed such a task before (were =
> writing either only user

mode solutions or only kernel mode ones) I’d like =
> the ask the gurus. What

numbers changing (both sides) should we expect when =
> moving the network

code from user mode to kernel? Both cases (“AS =
> IS” port and just

ideological port on the idea level).

Thank you!

Anton Kolomyeytsev

You are currently subscribed to ntdev as: =
> xxxxx@appstream.com

To unsubscribe send a blank email to =
> %%email.unsub%%


You are currently subscribed to ntdev as: xxxxx@appstream.com

To unsubscribe send a blank email to %%email.unsub%%

------_=_NextPart_001_01C29B20.1F153EE0–