Hi Christoph, Thanks for looking at this... On 06/18/2018 12:56 AM, Christoph Hellwig wrote: > On Sat, Jun 16, 2018 at 06:25:10PM -0700, john.hubbard@xxxxxxxxx wrote: >> From: John Hubbard <jhubbard@xxxxxxxxxx> >> >> This fixes a few problems that come up when using devices (NICs, GPUs, >> for example) that want to have direct access to a chunk of system (CPU) >> memory, so that they can DMA to/from that memory. Problems [1] come up >> if that memory is backed by persistence storage; for example, an ext4 >> file system. I've been working on several customer bugs that are hitting >> this, and this patchset fixes those bugs. > > What happens if we do get_user_page from two different threads or even > processes on the same page? As far as I can tell from your patch > the first one finishing the page will clear the bit and then we are > back to no protection. The patch does not do that. The flag is only ever cleared when the page is freed. That can't happen until each of the two threads above is done and calls put_page(). So while there may be other design issues here, the above case is not one of them. :) thanks, -- John Hubbard NVIDIA -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html