Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Gustaf Neumann
Stephen Deasey wrote: Your single thread helper mechanism above may not work the disk as hard as multiple threads, but it does mean that the driver thread doesn't have to block waiting for disk. it does not necessary have to write to the disk. You've also moved quota checking etc. into the

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Vlad Seryakov
Check my last upload patch, it may be usefull until more generic approach will be developed. Zoran Vasiljevic wrote: Am 02.01.2006 um 21:13 schrieb Stephen Deasey: If the problem is that threads are too "heavy", then it's pointless to use aio_write() etc. if the underlying implementation al

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Vlad Seryakov
As i see it by default nsd does not use mmaps, only for uploads, yes it might need to review this again, mmap for big movie/iso files is not appropriate and i am using nsd for those kinds of files most of the time. Stephen Deasey wrote: On 1/2/06, Vlad Seryakov <[EMAIL PROTECTED]> wrote: I d

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Vlad Seryakov
It was kind of random, sometimes SIGBUS, next time SIGEGV, it needs another round of testing. The goal was just simple replace with and see if aio_write may work, looks like it does not. I checked samba and squid, they use some kind of high level wrappers around AIO, most of the time their own

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 21:13 schrieb Stephen Deasey: If the problem is that threads are too "heavy", then it's pointless to use aio_write() etc. if the underlying implementation also uses threads. It will be worse than using conn threads alone, as there will be extra context switches as control boun

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Stephen Deasey
On 1/2/06, Vlad Seryakov <[EMAIL PROTECTED]> wrote: > I did very simple test, replaced write with aio_write and at the end > checked aio_error/aio_return, they all returned 0 so mmap should work > because file is synced. when i was doing aio_write i used aio_offset, so > each aio_write would put da

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Stephen Deasey
On 1/2/06, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote: > > Am 02.01.2006 um 17:23 schrieb Stephen Deasey: > > >> So, what is the problem? > > > > > > http://www.gnu.org/software/libc/manual/html_node/Configuration-of- > > AIO.html > > > > Still, where is the problem? The fact that Linux implements

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 19:13 schrieb Vlad Seryakov: I did very simple test, replaced write with aio_write and at the end checked aio_error/aio_return, they all returned 0 so mmap should work because file is synced. when i was doing aio_write i used aio_offset, so each aio_write would put data int

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Vlad Seryakov
I did very simple test, replaced write with aio_write and at the end checked aio_error/aio_return, they all returned 0 so mmap should work because file is synced. when i was doing aio_write i used aio_offset, so each aio_write would put data into separate region on the file. Unfortunately i re

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 17:23 schrieb Stephen Deasey: So, what is the problem? http://www.gnu.org/software/libc/manual/html_node/Configuration-of- AIO.html Still, where is the problem? The fact that Linux implements them as userlevel thread does not mean much to me. On Solaris, each thread you

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Stephen Deasey
On 1/2/06, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote: > > Am 02.01.2006 um 08:36 schrieb Stephen Deasey: > > > On 12/31/05, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote: > >> > >> Am 31.12.2005 um 20:12 schrieb Vlad Seryakov: > >> > >>> aio_read/aio_write system calls look like supported ubnder Linu

Re: [naviserver-devel] Naviserver and OACS (compatibility)?

2006-01-02 Thread Zoran Vasiljevic
Am 31.12.2005 um 18:24 schrieb Vlad Seryakov: Agreed on that as well, let's do it Conclusion: ns_register_filter when method urlPattern script ?arg1 arg2 ...?" The script definition must thus match: proc script {when args} {...} For calls w/o args, we are compatbile with AS. For calls w/

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 12:06 schrieb Zoran Vasiljevic: Am 02.01.2006 um 04:43 schrieb Vlad Seryakov: Tried it, nsd started crashing and i am guessing that the problem is combination of aio_write and mmap. When is start spooling, i just submit aio_write and return immediately, so there are a lot

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 04:43 schrieb Vlad Seryakov: Tried it, nsd started crashing and i am guessing that the problem is combination of aio_write and mmap. When is start spooling, i just submit aio_write and return immediately, so there are a lot of quick aio_write calls. By the time i reach mmap

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 08:36 schrieb Stephen Deasey: On 12/31/05, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote: Am 31.12.2005 um 20:12 schrieb Vlad Seryakov: aio_read/aio_write system calls look like supported ubnder Linux yes. most of modern os's support some kind of kaio. I have checked solari

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 09:21 schrieb Stephen Deasey: POST request with small amounts of data are really common. Think of a user logging in via a web form. Couple of bytes. The way you've coded it at the mo (and I realize it's just a first cut), all requests with more than 0 bytes of body content w

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Zoran Vasiljevic
Am 02.01.2006 um 09:30 schrieb Stephen Deasey: Right. So the thread handling the upload would lock/unlock every upload_size/10Kbytes or seconds_to_upload. The frequency of locking for the every 10Kbytes case would increase (and hence chance of blocking) with the capacity of your and your clien

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Stephen Deasey
On 12/31/05, Zoran Vasiljevic <[EMAIL PROTECTED]> wrote: > > Am 31.12.2005 um 19:03 schrieb Vlad Seryakov: > > > Could config option, like 1 second or 10Kbytes > > Yup. For example. This could reduce locking attempts. > Seems fine to me. Right. So the thread handling the upload would lock/unlock

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Stephen Deasey
On 12/31/05, Vlad Seryakov <[EMAIL PROTECTED]> wrote: > > > I think we talked about this before, but I can't find it in the > > mailing list archive. Anyway, the problem with recording the upload > > process is all the locking that's required. You could minimize this, > > e.g. by only recording u

Re: [naviserver-devel] Upload Progress

2006-01-02 Thread Stephen Deasey
On 12/31/05, Gustaf Neumann <[EMAIL PROTECTED]> wrote: > Zoran Vasiljevic wrote: > > > > But that would occupy the conn thread for ages, right? > > I can imagine several slow-line large-file uploads could > > consume many of those. Wasn't that the reason everything > > was moved in the driver threa