Path: utzoo!utgpu!cunews!bnrgate!brtph3!brchh104!brchs1!bnr.ca!rice.edu!sun-spots-request From: paul@altar.ee.byu.edu (Paul Rawlins) Newsgroups: comp.sys.sun Subject: Character Device Driver Keywords: Miscellaneous Message-ID: <1318@brchh104.bnr.ca> Date: 16 Jan 91 23:44:12 GMT Sender: news@brchh104.bnr.ca Organization: Sun-Spots Lines: 15 Approved: Sun-Spots@rice.edu X-Sun-Spots-Digest: Volume 10, Issue 24, message 3 X-Note: Submissions: sun-spots@rice.edu, Admin: sun-spots-request@rice.edu I have a board on the VMEBus which needs to be able to transfer packets ranging from 1 - 100,000 bytes quickly. I have a "driver" which uses mmap() that works fairly well. However, I need a real driver (primarily for interrupt capability) which works at roughly the same rate. I have written one using the physio() routine as described in Sun's "Writing Device Drivers" manual. The problem is that for repeated short transfers, the driver gets clobbered by the overhead in calling the write, physio, and strategy routines. Does anyone know of references or example programs (preferably via ftp) which describe character drivers in more detail? Any help would be greatly appreciated. Paul Rawlins paul@ee.byu.edu