Subject: Re: [PATCH] PPC: Don't sleep in flush_dcache_icache_page()

From: Matt Porter <[email-masked]>
Date: Thu, 18 Aug 2005 11:08:21 -0700

On Thu, Aug 18, 2005 at 02:56:42PM -0300, Marcelo Tosatti wrote:
> 
> Hi Roland,
> 
> On Tue, Aug 16, 2005 at 01:56:49PM -0700, Roland Dreier wrote:
> > flush_dcache_icache_page() will be called on an instruction page
> > fault.  We can't sleep in the fault handler, so use kmap_atomic()
> > instead of just kmap() for the Book-E case.
> > 
> > Signed-off-by: Roland Dreier <[email-masked]>
> 
> Why do you need to disable interrupts during the kmap_atomic/flush_dcache_icache
> operation ? 
> 
> I fail to see how an interrupt could have any reference to the data
> being dealt with here (the user page).

We just took care of this offline.  The original patch is sharing
a kmap slot with another kmap_atomic user I put in before...the
sync page user.  If an interrupt came in causing the DMA API to
be used, we would have a problem.

The clean solution was to use a different kmap slot.

-Matt