Date: Thu, 15 Aug 2002 11:51:58 +0800 From: "ouyang kai" <oykai@msn.com> To: <freebsd-hackers@FreeBSD.ORG> Subject: Hi, the kernel how control timeout and interrupt method? Message-ID: <OE42jF7HWWcWBT2Ko0900014134@hotmail.com>
next in thread | raw e-mail | index | archive | help
------=_NextPart_001_0000_01C24452.2929FDA0 Content-Type: multipart/alternative; boundary="----=_NextPart_002_0001_01C24452.2929FDA0" ------=_NextPart_002_0001_01C24452.2929FDA0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Hi guys, I have two questions, please help. 1. in one book, there are both pfslowtimo(void *arg) and pffasttimo(void = *arg) in =20 uipc_domain.c, which will be called by timeout, one is called every 500ms= , the other is called every 200ms. I want to know how FreeBSD control the t= imeout? I want to the kernel how to know it is time to call pfslowtimo or pffastt= imo? 2. I have a data-line, which connet the COM2 with a special backplane(my = box's IDE disk attach by the backplane). I can scan the COM2's state to find whether the= IDE disk exist or not. I use the polling method to scan in user space. =20 I access '/dev/io' device and get the COM state from the interface addre= ss.I think this method is unefficient. I think when the COM status change, it should spring an interrupt, the k= erenl will ignore the interrupt default, right? I can write an interrupt program, or embed = my process in the kernel. But I have no idea how to start. how can I start my task? =20 Thank you! Best Regards Ouyang KaiGet more from the Web. FREE MSN Explorer download : http://exp= lorer.msn.com ------=_NextPart_002_0001_01C24452.2929FDA0 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable <HTML><BODY STYLE=3D"font:10pt verdana; border:none;"><DIV>Hi guys,<BR>&n= bsp;I have two questions, please help.<BR>1. in one book, there are both = pfslowtimo(void *arg) and pffasttimo(void *arg) in <BR>uipc_domain.c, whi= ch will be called by timeout, one is called every 500ms,<BR>the other is = called every 200ms. I want to know how FreeBSD control the timeout?<BR>I = want to the kernel how to know it is time to call pfslowtimo or pffasttim= o?</DIV> <DIV>2. I have a data-line, which connet the COM2 with a special= backplane(my box's IDE disk<BR>attach by the backplane). I can scan the = COM2's state to find whether the IDE disk exist<BR>or not. I use the poll= ing method to scan in user space. <BR> I access '/dev/io' device and= get the COM state from the interface address.I think this<BR>method is u= nefficient.<BR> I think when the COM status change, it should spring= an interrupt, the kerenl will ignore<BR>the interrupt default, right? I = can write an interrupt program, or embed my process in the<BR>kernel. But= I have no idea how to start. how can I start my task?<BR> <BR> = ;Thank you!<BR>Best Regards<BR>Ouyang Kai</DIV> <DIV> </DIV> <DIV>&n= bsp;</DIV></BODY></HTML><br clear=3Dall><hr>Get more from the Web. FREE = MSN Explorer download : <a href=3D'http://explorer.msn.com'>http://explor= er.msn.com</a><br></p> ------=_NextPart_002_0001_01C24452.2929FDA0-- ------=_NextPart_001_0000_01C24452.2929FDA0 Content-Type: text/plain; name="interrupt.txt" Content-Disposition: attachment; filename="interrupt.txt" Content-Transfer-Encoding: quoted-printable Hi guys, I have two questions, please help. 1. in one book, there are both pfslowtimo(void *arg) and pffasttimo(void = *arg) in =20 uipc_domain.c, which will be called by timeout, one is called every 500ms= , the other is called every 200ms. I want to know how FreeBSD control the t= imeout? I want to the kernel how to know it is time to call pfslowtimo or pffastt= imo? 2. I have a data-line, which connet the COM2 with a special backplane(my = box's IDE disk attach by the backplane). I can scan the COM2's state to find whether the= IDE disk exist or not. I use the polling method to scan in user space. =20 I access '/dev/io' device and get the COM state from the interface addre= ss.I think this method is unefficient. I think when the COM status change, it should spring an interrupt, the k= erenl will ignore the interrupt default, right? I can write an interrupt program, or embed = my process in the kernel. But I have no idea how to start. how can I start my task? =20 Thank you! Best Regards Ouyang Kai ------=_NextPart_001_0000_01C24452.2929FDA0-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?OE42jF7HWWcWBT2Ko0900014134>