On 0, Simes <[EMAIL PROTECTED]> wrote:
> Tim,
>
> Where can I get your test version of pppoa3?
> You say you have changed it a fair bit since the patch you posted. I'd
> like to try your latest version as this problem is really hacking me
> off!
>
> Si
>
I have uploaded the snapshot of my working directory to:
(I think this is what I am running at the moment but I'm not absolutely
sure.)
http://www.locofungus.btinternet.co.uk/pppoa3/pppoa3.test.tar.gz
This will do all its logging to syslog not to pppoa3.log.
I am intending to create a patch that will apply to the current
cvs tree but I can't find the time at the moment.
Basically the changes are as follows:
1. Change logging to use syslog. pppoa3 hangs on my machine with logging
enabled. (this has been done in the CVS tree but differently :-)
2. Change the USBDEVFS_REAP ioctl to a USBDEVFS_BULK ioctl. This seems to
prevent the lockups. This change is in pusb-linux.c. However this has two
disadvantages. a. The timeout is set to 30 seconds and you can't kill this
version any quicker than that. and b. you get a line in your logs after
every 30 seconds of no traffic. (usb_bulk timeout)
3. Change pppoa3 to use 4 threads, one for usb read, one for usb write,
one for ppp read and one for ppp write with shared buffers.
Note that the way I have implemented this is not the best way. When I did
this I was experimenting and now I know how it ought to be done:
Use semaphore of order n to allow access to n buffers. Initially set it
to n buffers empty.
set usb_empty_buffers to n
set ppp_empty_buffers to n
set usb_full_buffers to 0
set ppp_full_buffers to 0
usb read ppp write
down usb_empty_buffers down usb_full_buffers
read packet from usb write packet to ppp
up usb_full_buffers up usb_empty_buffers
usb write ppp read
down ppp_full_buffers down ppp_empty_buffers
write packet to usb read packet from ppp
up ppp_empty_buffers up ppp_full_buffers
This way you should be able to remove all the memcpy calls I have had to add.
I think these are causing the cpu usage to be higher than pppoa3
The reason for 3 is to attempt to optimize the usb usage when there are
many small packets being sent. I don't have any benchmarks to show whether
this version gives an improvement or not. (Again, lack of time)
I have no idea if this version will work on BSD.
Regards,
Tim.
--
God said, "div D = rho, div B = 0, curl E = - @B/@t, curl H = J + @D/@t,"
and there was light.
http://locofungus.2y.net/ http://www.locofungus.btinternet.co.uk/
Liste de diffusion modem ALCATEL SpeedTouch USB
Pour se d�sinscrire : mailto:[EMAIL PROTECTED]?subject=unsubscribe