[rds-devel] [RESEND PATCH] mm: Use spin_lock_irqsave in	__set_page_dirty_nobuffers
    Andy Grover 
    andy.grover at oracle.com
       
    Fri Jan 21 11:25:26 PST 2011
    
    
  
On 01/21/2011 12:18 AM, Andrew Morton wrote:
> On Mon, 10 Jan 2011 22:15:34 -0800 Andy Grover<andy.grover at oracle.com>  wrote:
>
>> RDS is calling set_page_dirty from interrupt context,
>
> yikes.  Whatever possessed you to try that?
When doing an RDMA read into pinned pages, we get notified the operation 
is complete in a tasklet, and would like to mark the pages dirty and 
unpin in the same context.
The issue was __set_page_dirty_buffers (via calling set_page_dirty) was 
unconditionally re-enabling irqs as a side-effect because it was using 
*_irq instead of *_irqsave/restore.
How would you recommend we proceed? My understanding was calling 
set_page_dirty prior to issuing the operation isn't an option since it 
might get cleaned too early.
Thanks -- Regards -- Andy
    
    
More information about the rds-devel
mailing list