From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752255AbcHKWQq (ORCPT ); Thu, 11 Aug 2016 18:16:46 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:60018 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751432AbcHKWQo (ORCPT ); Thu, 11 Aug 2016 18:16:44 -0400 Date: Thu, 11 Aug 2016 23:16:35 +0100 From: Al Viro To: Linus Torvalds Cc: Christoph Hellwig , "Huang, Ying" , Dave Chinner , LKML , Bob Peterson , Wu Fengguang , LKP Subject: Re: [LKP] [lkp] [xfs] 68a9f5e700: aim7.jobs-per-min -13.6% regression Message-ID: <20160811221634.GU2356@ZenIV.linux.org.uk> References: <87a8gk17x7.fsf@yhuang-mobile.sh.intel.com> <8760r816wf.fsf@yhuang-mobile.sh.intel.com> <20160811155721.GA23015@lst.de> <874m6ryz0u.fsf@yhuang-mobile.sh.intel.com> <20160811200018.GA28271@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 11, 2016 at 01:35:00PM -0700, Linus Torvalds wrote: > The thing is, iov_iter_copy_from_user_atomic() doesn't itself enforce > non-blocking user accesses, it depends on the caller blocking page > faults. Huh? The very first thing it does is char *kaddr = kmap_atomic(page), *p = kaddr + offset; If _that_ does not disable pagefaults, we are very deep in shit. AFAICS, all instances of that sucker do disable those, including the non-highmem default (it's static inline void *kmap_atomic(struct page *page) { preempt_disable(); pagefault_disable(); return page_address(page); } )