On Tue, Nov 10, 2020 at 02:13:56AM +0100, Thomas Gleixner wrote:
> Ira,
>
> On Fri, Oct 09 2020 at 12:49, ira weiny wrote:
> > From: Ira Weiny
> >
> > To correctly support the semantics of kmap() with Kernel protection keys
> > (PKS), kmap() may be required t
On Tue, Oct 13, 2020 at 12:25:44PM +0100, Christoph Hellwig wrote:
> > - kaddr = kmap(pp);
> > + kaddr = kmap_thread(pp);
> > memcpy(kaddr, vip->vii_immed.vi_immed + offset, PAGE_SIZE);
> > - kunmap(pp);
> > + kunmap_thread(pp);
>
> You only Cced me on this particular patch, which
On Tue, Oct 13, 2020 at 09:01:49PM +0100, Al Viro wrote:
> On Tue, Oct 13, 2020 at 08:36:43PM +0100, Matthew Wilcox wrote:
>
> > static inline void copy_to_highpage(struct page *to, void *vfrom, unsigned
> > int size)
> > {
> > char *vto = kmap_atomic(to);
> >
> > memcpy(vto, vfrom,
On Tue, Oct 13, 2020 at 08:36:43PM +0100, Matthew Wilcox wrote:
> On Tue, Oct 13, 2020 at 11:44:29AM -0700, Dan Williams wrote:
> > On Fri, Oct 9, 2020 at 12:52 PM wrote:
> > >
> > > From: Ira Weiny
> > >
> > > The kmap() calls in this F
On Mon, Oct 12, 2020 at 09:02:54PM +0100, Matthew Wilcox wrote:
> On Mon, Oct 12, 2020 at 12:53:54PM -0700, Ira Weiny wrote:
> > On Mon, Oct 12, 2020 at 05:44:38PM +0100, Matthew Wilcox wrote:
> > > On Mon, Oct 12, 2020 at 09:28:29AM -0700, Dave Hansen wrote:
> > >
On Mon, Oct 12, 2020 at 05:44:38PM +0100, Matthew Wilcox wrote:
> On Mon, Oct 12, 2020 at 09:28:29AM -0700, Dave Hansen wrote:
> > kmap_atomic() is always preferred over kmap()/kmap_thread().
> > kmap_atomic() is _much_ more lightweight since its TLB invalidation is
> > always CPU-local and never
On Fri, Oct 09, 2020 at 06:30:36PM -0700, Eric Biggers wrote:
> On Sat, Oct 10, 2020 at 01:39:54AM +0100, Matthew Wilcox wrote:
> > On Fri, Oct 09, 2020 at 02:34:34PM -0700, Eric Biggers wrote:
> > > On Fri, Oct 09, 2020 at 12:49:57PM -0700, ira.we...@intel.com wrote:
> > > > The kmap() calls in
On Fri, Oct 09, 2020 at 07:53:07PM -0700, John Hubbard wrote:
> On 10/9/20 12:50 PM, ira.we...@intel.com wrote:
> > From: Ira Weiny
> >
> > The pmem driver uses a cached virtual address to access its memory
> > directly. Because the nvdimm driver is well aware of
On Sat, Oct 10, 2020 at 10:20:34AM +0800, Coly Li wrote:
> On 2020/10/10 03:50, ira.we...@intel.com wrote:
> > From: Ira Weiny
> >
> > These kmap() calls are localized to a single thread. To avoid the over
> > head of global PKRS updates use the new kmap_thre
On Sat, Oct 10, 2020 at 11:36:49AM +, Bernard Metzler wrote:
> -ira.we...@intel.com wrote: -
>
[snip]
> >@@ -505,7 +505,7 @@ static int siw_tx_hdt(struct siw_iwarp_tx *c_tx,
> >struct socket *s)
> > page_array[seg] = p;
> >
> >
On Sat, Oct 10, 2020 at 12:03:49AM +0200, Daniel Vetter wrote:
> On Fri, Oct 09, 2020 at 12:49:44PM -0700, ira.we...@intel.com wrote:
> > From: Ira Weiny
> >
> > These kmap() calls in the gpu stack are localized to a single thread.
> > To avoid the over head of glob
From: Ira Weiny
The pmem driver uses a cached virtual address to access its memory
directly. Because the nvdimm driver is well aware of the special
protections it has mapped memory with, we call dev_access_[en|dis]able()
around the direct pmem->virt_addr (pmem_addr) usage inst
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Ulf Hansson
Cc: Sascha Sommer
Signed-off-by: Ira Weiny
---
drivers/mmc/host/mmc_spi.c| 4 ++--
drivers/mmc/host/sdricoh_cs.c | 4
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: "James E.J. Bottomley"
Cc: "Martin K. Petersen"
Signed-off-by: Ira Weiny
---
drivers/scsi/ipr.c | 8
dr
From: Ira Weiny
This kmap() call is localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Eric Biederman
Signed-off-by: Ira Weiny
---
kernel/kexec_core.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Greg Kroah-Hartman
Signed-off-by: Ira Weiny
---
drivers/android/binder_alloc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS update use the new kmap_thread() call instead.
Cc: Jan Kara
Signed-off-by: Ira Weiny
---
fs/ext2/dir.c | 2 +-
fs/ext2/ext2.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Miquel Raynal
Cc: Richard Weinberger
Cc: Vignesh Raghavendra
Signed-off-by: Ira Weiny
---
drivers/mtd/mtd_blkdevs.c | 12 ++--
1
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Signed-off-by: Ira Weiny
---
arch/powerpc/mm/mem.c | 4 ++--
1 file changed, 2 insertions(+), 2
From: Ira Weiny
dax_direct_access() is a special case of accessing pmem via a page
offset and without a struct page.
Because the dax driver is well aware of the special protections it has
mapped memory with, call dev_access_[en|dis]able() directly instead of
the unnecessary overhead of trying
From: Ira Weiny
Protecting against stray writes is particularly important for PMEM
because, unlike writes to anonymous memory, writes to PMEM persists
across a reboot. Thus data corruption could result in permanent loss of
data.
While stray writes are more serious than reads, protection
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over head of
global PKRS updates use the new kmap_thread() call.
Signed-off-by: Ira Weiny
---
fs/isofs/compress.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/isofs/compress.c b/fs
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Ard Biesheuvel
Signed-off-by: Ira Weiny
---
drivers/firmware/efi/capsule-loader.c | 6 +++---
drivers/firmware/efi/capsule.c| 4
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Nicolas Pitre
Signed-off-by: Ira Weiny
---
fs/cramfs/inode.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Hans de Goede
Signed-off-by: Ira Weiny
---
fs/vboxsf/file.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Signed-off-by: Ira Weiny
---
mm/memory.c | 8
mm/swapfile.c| 4 ++--
mm/userfaultfd.c | 4 ++--
3 files changed, 8 insertions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Kirti Wankhede
Signed-off-by: Ira Weiny
---
samples/vfio-mdev/mbochs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Gao Xiang
Cc: Chao Yu
Signed-off-by: Ira Weiny
---
fs/erofs/super.c | 4 ++--
fs/erofs/xattr.c | 4 ++--
2 files changed, 4
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Alexander Viro
Cc: "Jérôme Glisse"
Cc: Martin KaFai Lau
Cc: Song Liu
Cc: Yonghong Song
Cc: Andrii Nakryiko
Cc: John Fastabe
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Richard Weinberger
Signed-off-by: Ira Weiny
---
fs/ubifs/file.c | 16
1 file changed, 8 insertions(+), 8 deletions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Greg Kroah-Hartman
Signed-off-by: Ira Weiny
---
drivers/staging/rts5208/rtsx_transport.c | 4 ++--
1 file changed, 2 insertions(+), 2
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Greg Kroah-Hartman
Signed-off-by: Ira Weiny
---
drivers/misc/vmw_vmci/vmci_queue_pair.c | 12 ++--
1 file changed, 6 insertions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Coly Li (maintainer:BCACHE (BLOCK LAYER CACHE))
Cc: Kent Overstreet (maintainer:BCACHE (BLOCK LAYER
CACHE))
Signed-off-by: Ira Weiny
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Signed-off-by: Ira Weiny
---
fs/romfs/super.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/romfs/super.c b
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Stefano Stabellini
Signed-off-by: Ira Weiny
---
drivers/xen/gntalloc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Ira Weiny
These kmap() calls in this driver are localized to a single thread. To
avoid the over head of global PKRS updates use the new kmap_thread()
call.
Signed-off-by: Ira Weiny
---
drivers/target/target_core_iblock.c| 4 ++--
drivers/target/target_core_rd.c| 4
From: Ira Weiny
There are 3 places in namei.c where the equivalent of ext2_put_page() is
open coded. We want to use k[un]map_thread() instead of k[un]map() in
ext2_[get|put]_page().
Move ext2_put_page() to ext2.h and use it in namei.c in prep for
converting the k[un]map() code.
Cc: Jan Kara
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Anton Altaparmakov
Signed-off-by: Ira Weiny
---
fs/ntfs/aops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
From: Ira Weiny
These kmap() calls in these drivers are localized to a single thread.
To avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: "David S. Miller"
Cc: Jakub Kicinski
Cc: Alexey Kuznetsov
Cc: Hideaki YOSHIFUJI
Cc: Trond Myklebust
Cc: Anna Sch
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Christoph Hellwig
Signed-off-by: Ira Weiny
---
fs/freevxfs/vxfs_immed.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over head of
global PKRS updates use the new kmap_thread() call.
Signed-off-by: Ira Weiny
---
fs/jffs2/file.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/jffs2/file.c b/fs/jffs2
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: David Howells
Signed-off-by: Ira Weiny
---
fs/cachefiles/rdwr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Damien Le Moal
Cc: Naohiro Aota
Signed-off-by: Ira Weiny
---
fs/zonefs/super.c | 4 ++--
1 file changed, 2 insertions(+), 2
From: Ira Weiny
These kmap() calls are localized to a single thread. To avoid the over
head of global PKRS updates use the new kmap_thread() call.
Cc: Alexander Viro
Cc: Jens Axboe
Signed-off-by: Ira Weiny
---
fs/aio.c | 4 ++--
fs/binfmt_elf.c | 4 ++--
fs
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Jeff Dike
Cc: Richard Weinberger
Cc: Anton Ivanov
Signed-off-by: Ira Weiny
---
fs/hostfs/hostfs_kern.c | 12 ++--
1 file
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Signed-off-by: Ira Weiny
---
fs/hfs/bnode.c | 14 +++---
fs/hfs/btree.c | 20 ++--
2 files changed, 17
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Bob Peterson
Cc: Andreas Gruenbacher
Signed-off-by: Ira Weiny
---
fs/gfs2/bmap.c | 4 ++--
fs/gfs2/ops_fstype.c | 4 ++--
2
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Jan Kara
Cc: "Theodore Ts'o"
Cc: Randy Dunlap
Cc: Alex Shi
Signed-off-by: Ira Weiny
---
fs/reiserfs/journal.c | 4 ++
From: Ira Weiny
Device managed memory exposes itself to the kernel direct map which
allows stray pointers to access these device memories.
Stray pointers to normal memory may result in a crash or other
undesirable behavior which, while unfortunate, are usually recoverable
with a reboot. Stray
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Steve French
Signed-off-by: Ira Weiny
---
fs/cifs/cifsencrypt.c | 6 +++---
fs/cifs/file.c| 16
fs/cifs
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Signed-off-by: Ira Weiny
---
fs/hfsplus/bitmap.c | 20 -
fs/hfsplus/bnode.c | 102
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Jaegeuk Kim
Cc: Chao Yu
Signed-off-by: Ira Weiny
---
fs/f2fs/f2fs.h | 8
1 file changed, 4 insertions(+), 4 deletions
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Herbert Xu
Cc: Eric Biggers
Cc: Aditya Pakki
Signed-off-by: Ira Weiny
---
fs/ecryptfs/crypto.c | 8
fs/ecryptfs
From: Ira Weiny
Most kmap() callers use the map within a single thread and have no need
for the protection domain to be enabled globally.
To differentiate these kmap users, new k[un]map_thread() calls were
introduced which are thread local.
To aid in debugging the new use of kmap_thread(), add
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Trond Myklebust
Cc: Anna Schumaker
Signed-off-by: Ira Weiny
---
fs/nfs/dir.c | 20 ++--
1 file changed, 10
From: Ira Weiny
To correctly support the semantics of kmap() with Kernel protection keys
(PKS), kmap() may be required to set the protections on multiple
processors (globally). Enabling PKS globally can be very expensive
depending on the requested operation. Furthermore, enabling a domain
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Chris Mason
Cc: Josef Bacik
Cc: David Sterba
Signed-off-by: Ira Weiny
---
fs/btrfs/check-integrity.c | 4 ++--
fs/btrfs
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To
avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: David Howells
Signed-off-by: Ira Weiny
---
fs/afs/dir.c | 16
fs/afs/dir_edit.c | 16
fs/afs
From: Ira Weiny
The kmap() calls in this driver are localized to a single thread. To
avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: Luis Chamberlain
Signed-off-by: Ira Weiny
---
drivers/base/firmware_loader/fallback.c | 4 ++--
drivers/base/firmware_loader
From: Ira Weiny
These kmap() calls in the gpu stack are localized to a single thread.
To avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: David Airlie
Cc: Daniel Vetter
Cc: Patrik Jakobsson
Signed-off-by: Ira Weiny
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: David Woodhouse
Cc: Richard Weinberger
Signed-off-by: Ira Weiny
---
fs/jffs2/file.c | 4 ++--
fs/jffs2/gc.c | 4 ++--
2 files
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Miklos Szeredi
Signed-off-by: Ira Weiny
---
fs/fuse/readdir.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
From: Ira Weiny
The kmap() calls in these drivers are localized to a single thread. To
avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: "David S. Miller"
Cc: Jakub Kicinski
Cc: Jesse Brandeburg
Signed-off-by: Ira Weiny
---
drivers/net/ethernet
From: Ira Weiny
The kmap() calls in this FS are localized to a single thread. To avoid
the over head of global PKRS updates use the new kmap_thread() call.
Cc: Ryusuke Konishi
Signed-off-by: Ira Weiny
---
fs/nilfs2/alloc.c | 34 +-
fs/nilfs2/cpfile.c | 4
From: Ira Weiny
Now that PKS can be enabled globaly (for all threads) add a test which
spawns a thread and tests the same PKS functionality.
The test enables/disables PKS in 1 thread while attempting to access the
page in another thread. We use the same test array as in the 'local'
PKS testing
From: Ira Weiny
The kmap() calls in these drivers are localized to a single thread. To
avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: Mike Marciniszyn
Cc: Dennis Dalessandro
Cc: Doug Ledford
Cc: Jason Gunthorpe
Cc: Faisal Latif
Cc: Shiraz Saleem
Cc
From: Ira Weiny
Device managed pages may have additional protections. These protections
need to be removed prior to valid use by kernel users.
Check for special treatment of device managed pages in kmap and take
action if needed. We use kmap as an interface for generic kernel code
because
From: Ira Weiny
Should a stray write in the kernel occur persistent memory is affected more
than regular memory. A write to the wrong area of memory could result in
latent data corruption which will will persist after a reboot. PKS provides a
nice way to restrict access to persistent memory
From: Ira Weiny
The kmap() calls in this driver are localized to a single thread. To
avoid the over head of global PKRS updates use the new kmap_thread()
call.
Cc: Jens Axboe
Signed-off-by: Ira Weiny
---
drivers/block/drbd/drbd_main.c | 4 ++--
drivers/block/drbd/drbd_receiver.c | 12
From: Ira Weiny
Some users, such as kmap(), sometimes requires PKS to be global.
However, updating all CPUs, and worse yet all threads is expensive.
Introduce a global PKRS state which is checked at critical times to
allow the state to enable access when global PKS is required. To
accomplish
On Wed, Aug 07, 2019 at 10:46:49AM +0200, Michal Hocko wrote:
> On Wed 07-08-19 10:37:26, Jan Kara wrote:
> > On Fri 02-08-19 12:14:09, John Hubbard wrote:
> > > On 8/2/19 7:52 AM, Jan Kara wrote:
> > > > On Fri 02-08-19 07:24:43, Matthew Wilcox wrote:
> > > > > On Fri, Aug 02, 2019 at 02:41:46PM
equired.
>
> Reviewed-by: Christoph Hellwig
> Cc: Matthew Wilcox
> Cc: Jan Kara
> Cc: Ira Weiny
> Cc: Jason Gunthorpe
> Signed-off-by: John Hubbard
> ---
> drivers/infiniband/core/umem.c | 5 +-
> drivers/infiniband/hw/hfi1/user_pages.c
On Mon, Jul 15, 2019 at 12:26:54PM +0530, Bharath Vedartham wrote:
> On Sun, Jul 14, 2019 at 04:33:42PM -0700, John Hubbard wrote:
> > On 7/14/19 12:08 PM, Bharath Vedartham wrote:
> > > This patch converts all call sites of get_user_pages
> > > to use put_user_page*() instead of put_page*()
On Tue, Feb 19, 2019 at 09:30:33PM -0800, 'Ira Weiny' wrote:
> From: Ira Weiny
>
> Resending these as I had only 1 minor comment which I believe we have covered
> in this series. I was anticipating these going through the mm tree as they
> depend on a cleanup patch there and
On Thu, Feb 21, 2019 at 08:48:41AM +0530, Souptick Joarder wrote:
> Hi Ira,
>
> On Wed, Feb 20, 2019 at 11:01 AM wrote:
> >
> > From: Ira Weiny
> >
> > To facilitate additional options to get_user_pages_fast() change the
> > singular write parameter t
On Wed, Feb 20, 2019 at 07:19:30AM -0800, Christoph Hellwig wrote:
> On Tue, Feb 19, 2019 at 09:30:33PM -0800, ira.we...@intel.com wrote:
> > From: Ira Weiny
> >
> > Resending these as I had only 1 minor comment which I believe we have
> > covered
> > in
From: Ira Weiny
To facilitate additional options to get_user_pages_fast() change the
singular write parameter to be gup_flags.
This patch does not change any functionality. New functionality will
follow in subsequent patches.
Some of the get_user_pages_fast() call sites were unchanged because
From: Ira Weiny
Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against
FS DAX pages being mapped.
Signed-off-by: Ira Weiny
---
drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c
From: Ira Weiny
In order to support more options in the GUP fast walk, change
the write parameter to flags throughout the call stack.
This patch does not change functionality and passes FOLL_WRITE
where write was previously used.
Signed-off-by: Ira Weiny
---
mm/gup.c | 52
From: Ira Weiny
Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against
FS DAX pages being mapped.
Signed-off-by: Ira Weiny
---
drivers/infiniband/hw/hfi1/user_pages.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1
From: Ira Weiny
Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against
FS DAX pages being mapped.
Signed-off-by: Ira Weiny
---
drivers/infiniband/hw/mthca/mthca_memfree.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mthca
From: Ira Weiny
Rather than have a separate get_user_pages_longterm() call,
introduce FOLL_LONGTERM and change the longterm callers to use
it.
This patch does not change any functionality.
FOLL_LONGTERM can only be supported with get_user_pages() as it
requires vmas to determine if DAX
From: Ira Weiny
DAX pages were previously unprotected from longterm pins when users
called get_user_pages_fast().
Use the new FOLL_LONGTERM flag to check for DEVMAP pages and fall
back to regular GUP processing if a DEVMAP page is encountered.
Signed-off-by: Ira Weiny
---
mm/gup.c | 24
ange get_user_pages() to use the new FOLL_LONGTERM flag and
> remove the specialized get_user_pages_longterm call.
>
> [1] https://lkml.org/lkml/2019/2/11/237
> [2] https://lkml.org/lkml/2019/2/11/1789
Any comments on this series? I've touched a lot of subsystems which I think
require revi
On Wed, Feb 13, 2019 at 04:11:10PM -0700, Jason Gunthorpe wrote:
> On Wed, Feb 13, 2019 at 03:04:51PM -0800, ira.we...@intel.com wrote:
> > From: Ira Weiny
> >
> > To facilitate additional options to get_user_pages_fast() change the
> > singular write parameter to b
From: Ira Weiny
Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against
FS DAX pages being mapped.
Signed-off-by: Ira Weiny
---
drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c
From: Ira Weiny
To facilitate additional options to get_user_pages_fast() change the
singular write parameter to be gup_flags.
This patch does not change any functionality. New functionality will
follow in subsequent patches.
Some of the get_user_pages_fast() call sites were unchanged because
From: Ira Weiny
Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against
FS DAX pages being mapped.
Signed-off-by: Ira Weiny
---
drivers/infiniband/hw/mthca/mthca_memfree.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/mthca
From: Ira Weiny
DAX pages were previously unprotected from longterm pins when users
called get_user_pages_fast().
Use the new FOLL_LONGTERM flag to check for DEVMAP pages and fall
back to regular GUP processing if a DEVMAP page is encountered.
Signed-off-by: Ira Weiny
---
mm/gup.c | 24
From: Ira Weiny
NOTE: This series depends on my clean up patch to remove the write parameter
from gup_fast_permitted()[1]
HFI1, qib, and mthca, use get_user_pages_fast() due to it performance
advantages. These pages can be held for a significant time. But
get_user_pages_fast() does
From: Ira Weiny
Use the new FOLL_LONGTERM to get_user_pages_fast() to protect against
FS DAX pages being mapped.
Signed-off-by: Ira Weiny
---
drivers/infiniband/hw/hfi1/user_pages.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1
From: Ira Weiny
Rather than have a separate get_user_pages_longterm() call,
introduce FOLL_LONGTERM and change the longterm callers to use
it.
This patch does not change any functionality.
FOLL_LONGTERM can only be supported with get_user_pages() as it
requires vmas to determine if DAX
From: Ira Weiny
In order to support more options in the GUP fast walk, change
the write parameter to flags throughout the call stack.
This patch does not change functionality and passes FOLL_WRITE
where write was previously used.
Signed-off-by: Ira Weiny
---
mm/gup.c | 52
ce to `crc32_le'
>
> Signed-off-by: Markus Böhme <markus.boe...@mailbox.org>
Doug did you pick this up?
Reviewed-by: Ira Weiny <ira.we...@intel.com>
> ---
> drivers/staging/rdma/hfi1/Kconfig |1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/sta
From: Mitko Haralanov <mitko.harala...@intel.com>
There is no need to use a separate variable for a
return value and a label when returning right away
would do just as well.
Signed-off-by: Mitko Haralanov <mitko.harala...@intel.com>
Reviewed-by: Ira Weiny <ira.we...@intel.co
From: Mitko Haralanov <mitko.harala...@intel.com>
The exp_lock lock does not need to be a spinlock as
all its uses are in process context and allowing the
process to sleep when the mutex is contended might
be benefitial.
Signed-off-by: Mitko Haralanov <mitko.harala...@intel.com>
Revi
From: Ira Weiny <ira.we...@intel.com>
NOTE:
This is being resubmitted to linux-rdma (for patchworks) to aid Doug Ledford in
taking over the staging/rdma subtree.
https://www.mail-archive.com/linux-rdma%40vger.kernel.org/msg30860.html
This patch set is to follow: staging/rdma/hfi1: Enab
From: Dean Luick <dean.lu...@intel.com>
Correctly set half-swing for integrated devices. A0 needs all fields set for
CcePcieCtrl. B0 and later only need a few fields set.
Reviewed-by: Stuart Summers <john.s.summ...@intel.com>
Signed-off-by: Dean Luick <dean.lu...@intel.com>
ed-off-by: Mitko Haralanov <mitko.harala...@intel.com>
Reviewed-by: Ira Weiny <ira.we...@intel.com>
---
drivers/staging/rdma/hfi1/user_exp_rcv.c | 263 ++-
1 file changed, 259 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/rdma/hfi1/user_exp_rcv.c
irtual buffer, program the RcvArray group entries with
these physical chunks, and unprogram the RcvArray groups.
Reviewed-by: Ira Weiny <ira.we...@intel.com>
Signed-off-by: Mitko Haralanov <mitko.harala...@intel.com>
---
Changes from V1:
Add comment to program_rcvarray
1 - 100 of 285 matches
Mail list logo