checking number of parallel ports installed and their port adresses

Alexander Best alexbestms at math.uni-muenster.de
Fri Jul 24 16:02:37 UTC 2009


well i'm performing a large number of port accesses since the data gets
transferred bit-by-bit over a single parallel port pin with another pin acting
as clock. so transfering 256 kbyte of data means i'm doing >= 256*1024*8*2
ioctls. i guess when transfering data on a nibble, byte, word or dword basis
the overhead isn't that dramatic.

alex

John Baldwin schrieb am 2009-07-24:
> On Friday 24 July 2009 6:42:34 am Alexander Best wrote:
> > thanks for the hint.

> > if spent a bit of time and turned the in/out opcodes to ppi ioctls.
> > actually
> i
> > was very surprised about the results since you said the overhead
> > wouldn't be
> > that big.

> > uploading a 256 kbyte file i got the following results:

> > using ppi: 17.120 seconds
> > using in/out opcodes: 8.001 seconds

> > so i think i'll rather stick to my old inline assembly code even if
> > it can't
> > be considered nice programming style, but the ppi overhead isn't
> > something i
> > can cope with in my app.

> Hmmm, that is a bit much.  Though I do suppose you are incurring a
> user ->
> kernel -> user transition for each I/O access.



More information about the freebsd-hackers mailing list