Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Nov 1997 19:46:56 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, mouth@ibm.net
Cc:        hackers@freebsd.org
Subject:   Re: Status of 650 UART support
Message-ID:  <199711200846.TAA31061@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> Each i/o takes about 1 usec on an 8MHz ISA bus (perhaps
>>125 nsec more or less)

>I tried some timing tests and measured almost 2 usec for one 8MHz ISA
>bus I/O on a 486 DX4-100.

The difference is partly due to the difference between real/VM86 and
protected mode.  Here are the best-case cycle times for inb, at least
on plain 486's:

	pm (CPL <= IOPL):	8
	real:			14
	VM86:			27
	pm (CPL > IOPL):	28

27 - 8 only accounts for 0.19 usec per i/o at 100 MHz.

>I used the following real-mode Turbo C DOS ISR with a dummy loop to
>repeat reading the UART line status register a million times.  The

I used to use throwaway test programs under DOS to determine i/o
timing.  Now I use throwaway LKMs under FreeBSD.  The easiest method
is to take one of the examples in /usr/share/exemples/lkm and put
`... microtime(&start); test_code(); microtime(&finish); printf(...);'
in the startup code.  Then loading the module runs the test.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711200846.TAA31061>