On Jul 24, 2007, at 4:23 PM, Sarah Bailey wrote:

> On Tue, Jul 24, 2007 at 03:09:43PM -0700, Zach Brown wrote:
>> On Jul 24, 2007, at 1:17 PM, Sarah Sharp wrote:
>>
>>> When an AIO operation is cancelled
>>
>> So, the sad story is that the cancellation support in fs/aio.c is a
>> mess.  Before we get lost on those details can we talk about simply
>> not allowing cancelation of these usbfs2 aio read requests?  If they
>> guarantee forward progress then you can just do what dio does.  Don't
>> set ki_cancel, they'll eventually complete.
>
> If the cancellation code is such a mess, why not include a comment
> saying so, or remove it?

Well, I can't claim to speak on behalf of the others who are capable  
of rolling that patch but who haven't.

For me, it's two things.  First there have been much more serious aio 
+dio bugs to work on.  (panics on io errors, that kind of thing).

Secondly, we can nickle and dime ourselves to death fixing buglets in  
the current implementation.  I'm preferring to work towards a design  
which renders much of the current code simply unnecessary, bugs  
included.

> Could you comment on how syslets or fibrels would handle transfer
> requests when the file position is ignored?  I'm very interested in
> ditching in-kernel AIO.

syslets don't know a thing about whether system calls work with file  
positions or not.  The rules are pretty simple:

When you execute a syscall via a syslet it executes in the submitting  
task.  If it completes without blocking then it's just as though you  
called the system call directly.

If the system call blocks then the scheduler calls clone().  The  
parent of the cloned thread continues executing the system call.  The  
child returns to userspace as having the syslet submission system  
call return.

So userspace controls the degree of concurrency in the pending  
syscalls.  Children who return on behalf of blocked parents can keep  
submitting syscalls as long as they can tolerate concurrency.  If  
they can't, they wait for dependent syscalls to complete before  
continuing on.

Does that answer the question?

- z

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to