Re: [PATCH v2 1/3] introduce memcpy_nocache()

2016-11-01 Thread Boaz Harrosh
On 10/28/2016 04:54 AM, Boylston, Brian wrote: > Boaz Harrosh wrote on 2016-10-26: >> On 10/26/2016 06:50 PM, Brian Boylston wrote: >>> Introduce memcpy_nocache() as a memcpy() that avoids the processor cache >>> if possible. Without arch-specific support, this defaults to just >>> memcpy(). For

[PATCH v9 00/16] re-enable DAX PMD support

2016-11-01 Thread Ross Zwisler
DAX PMDs have been disabled since Jan Kara introduced DAX radix tree based locking. This series allows DAX PMDs to participate in the DAX radix tree based locking scheme so that they can be re-enabled. Previously we had talked about this series going through the XFS tree, but Jan has a patch set

[PATCH v9 01/16] ext4: tell DAX the size of allocation holes

2016-11-01 Thread Ross Zwisler
When DAX calls _ext4_get_block() and the file offset points to a hole we currently don't set bh->b_size. This is current worked around via buffer_size_valid() in fs/dax.c. _ext4_get_block() has the hole size information from ext4_map_blocks(), so populate bh->b_size so we can remove buffer_size_v

[PATCH v9 07/16] dax: coordinate locking for offsets in PMD range

2016-11-01 Thread Ross Zwisler
DAX radix tree locking currently locks entries based on the unique combination of the 'mapping' pointer and the pgoff_t 'index' for the entry. This works for PTEs, but as we move to PMDs we will need to have all the offsets within the range covered by the PMD to map to the same bit lock. To accompl

[PATCH v9 05/16] dax: remove the last BUG_ON() from fs/dax.c

2016-11-01 Thread Ross Zwisler
Don't take down the kernel if we get an invalid 'from' and 'length' argument pair. Just warn once and return an error. Signed-off-by: Ross Zwisler Reviewed-by: Christoph Hellwig Reviewed-by: Jan Kara --- fs/dax.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/dax.c b

[PATCH v9 06/16] dax: consistent variable naming for DAX entries

2016-11-01 Thread Ross Zwisler
No functional change. Consistently use the variable name 'entry' instead of 'ret' for DAX radix tree entries. This was already happening in most of the code, so update get_unlocked_mapping_entry(), grab_mapping_entry() and dax_unlock_mapping_entry(). Signed-off-by: Ross Zwisler Reviewed-by: Chr

[PATCH v9 02/16] dax: remove buffer_size_valid()

2016-11-01 Thread Ross Zwisler
Now that ext4 properly sets bh.b_size when we call get_block() for a hole, rely on that value and remove the buffer_size_valid() sanity check. Signed-off-by: Ross Zwisler Reviewed-by: Jan Kara Reviewed-by: Christoph Hellwig --- fs/dax.c | 22 +- 1 file changed, 1 insertion(

[PATCH v9 03/16] ext2: remove support for DAX PMD faults

2016-11-01 Thread Ross Zwisler
DAX PMD support was added via the following commit: commit e7b1ea2ad658 ("ext2: huge page fault support") I believe this path to be untested as ext2 doesn't reliably provide block allocations that are aligned to 2MiB. In my testing I've been unable to get ext2 to actually fault in a PMD. It alw

[PATCH v9 04/16] dax: make 'wait_table' global variable static

2016-11-01 Thread Ross Zwisler
The global 'wait_table' variable is only used within fs/dax.c, and generates the following sparse warning: fs/dax.c:39:19: warning: symbol 'wait_table' was not declared. Should it be static? Make it static so it has scope local to fs/dax.c, and to make sparse happy. Signed-off-by: Ross Zwisler

[PATCH v9 11/16] dax: dax_iomap_fault() needs to call iomap_end()

2016-11-01 Thread Ross Zwisler
Currently iomap_end() doesn't do anything for DAX page faults for both ext2 and XFS. ext2_iomap_end() just checks for a write underrun, and xfs_file_iomap_end() checks to see if it needs to finish a delayed allocation. However, in the future iomap_end() calls might be needed to make sure we have

[PATCH v9 10/16] dax: add dax_iomap_sector() helper function

2016-11-01 Thread Ross Zwisler
To be able to correctly calculate the sector from a file position and a struct iomap there is a complex little bit of logic that currently happens in both dax_iomap_actor() and dax_iomap_fault(). This will need to be repeated yet again in the DAX PMD fault handler when it is added, so break it out

[PATCH v9 13/16] dax: move put_(un)locked_mapping_entry() in dax.c

2016-11-01 Thread Ross Zwisler
No functional change. The static functions put_locked_mapping_entry() and put_unlocked_mapping_entry() will soon be used in error cases in grab_mapping_entry(), so move their definitions above this function. Signed-off-by: Ross Zwisler Reviewed-by: Jan Kara --- fs/dax.c | 50 ++

[PATCH v9 14/16] dax: add struct iomap based DAX PMD support

2016-11-01 Thread Ross Zwisler
DAX PMDs have been disabled since Jan Kara introduced DAX radix tree based locking. This patch allows DAX PMDs to participate in the DAX radix tree based locking scheme so that they can be re-enabled using the new struct iomap based fault handlers. There are currently three types of DAX 4k entrie

[PATCH v9 09/16] dax: correct dax iomap code namespace

2016-11-01 Thread Ross Zwisler
The recently added DAX functions that use the new struct iomap data structure were named iomap_dax_rw(), iomap_dax_fault() and iomap_dax_actor(). These are actually defined in fs/dax.c, though, so should be part of the "dax" namespace and not the "iomap" namespace. Rename them to dax_iomap_rw(), d

[PATCH v9 15/16] xfs: use struct iomap based DAX PMD fault path

2016-11-01 Thread Ross Zwisler
Switch xfs_filemap_pmd_fault() from using dax_pmd_fault() to the new and improved dax_iomap_pmd_fault(). Also, now that it has no more users, remove xfs_get_blocks_dax_fault(). Signed-off-by: Ross Zwisler Reviewed-by: Jan Kara --- fs/xfs/xfs_aops.c | 26 +- fs/xfs/xfs_a

[PATCH v9 16/16] dax: remove "depends on BROKEN" from FS_DAX_PMD

2016-11-01 Thread Ross Zwisler
Now that DAX PMD faults are once again working and are now participating in DAX's radix tree locking scheme, allow their config option to be enabled. Signed-off-by: Ross Zwisler Reviewed-by: Jan Kara --- fs/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/Kconfig b/fs/Kconfig index

[PATCH v9 12/16] dax: move RADIX_DAX_* defines to dax.h

2016-11-01 Thread Ross Zwisler
The RADIX_DAX_* defines currently mostly live in fs/dax.c, with just RADIX_DAX_ENTRY_LOCK being in include/linux/dax.h so it can be used in mm/filemap.c. When we add PMD support, though, mm/filemap.c will also need access to the RADIX_DAX_PTE type so it can properly construct a 4k sized empty entr

[PATCH v9 08/16] dax: remove dax_pmd_fault()

2016-11-01 Thread Ross Zwisler
dax_pmd_fault() is the old struct buffer_head + get_block_t based 2 MiB DAX fault handler. This fault handler has been disabled for several kernel releases, and support for PMDs will be reintroduced using the struct iomap interface instead. Signed-off-by: Ross Zwisler Reviewed-by: Christoph Hell

3.如何判定政策法律法规的效力等级?

2016-11-01 Thread 3 . 如何判定政策法律法规的效力等级? 先生
新《劳.动.合.同.法》、《社会.保险法》、《工伤保险条例》实.操应对.策略与有效.调岗调薪、裁员解雇及违纪.问题员工.处理技巧——课.程.简介 【时间地点】 10月28-29日上海(B单元)11月04-05日北京(B单元)11月11-12日深圳(B单元) 11月18-19日广州(A单元)11月25-26日上海(A单元)12月02-03日北京(A单元) 【参.加.对.象】 董事长、总经理、副总经理、人力资源总监/经理/专员及人事行政管理人员、工会干部、法务人员及相关管理人员、相关律师等。 【授.课.方.式】 讲师讲授 + 视频演绎 + 案例研讨 +角色

[PATCH 05/11] ext4: Use iomap for zeroing blocks in DAX mode

2016-11-01 Thread Jan Kara
Use iomap infrastructure for zeroing blocks when in DAX mode. ext4_iomap_begin() handles read requests just fine and that's all that is needed for iomap_zero_range(). Signed-off-by: Jan Kara --- fs/ext4/inode.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/ext4/ino

[PATCH 03/11] ext4: Let S_DAX set only if DAX is really supported

2016-11-01 Thread Jan Kara
Currently we have S_DAX set inode->i_flags for a regular file whenever ext4 is mounted with dax mount option. However in some cases we cannot really do DAX - e.g. when inode is marked to use data journalling, when inode data is being encrypted, or when inode is stored inline. Make sure S_DAX flag i

[PATCH 01/11] ext4: Factor out checks from ext4_file_write_iter()

2016-11-01 Thread Jan Kara
Factor out checks of 'from' and whether we are overwriting out of ext4_file_write_iter() so that the function is easier to follow. Signed-off-by: Jan Kara --- fs/ext4/file.c | 97 ++ 1 file changed, 50 insertions(+), 47 deletions(-) diff -

[PATCH 07/11] ext4: Avoid split extents for DAX writes

2016-11-01 Thread Jan Kara
Currently mapping of blocks for DAX writes happen with EXT4_GET_BLOCKS_PRE_IO flag set. That has a result that each ext4_map_blocks() call creates a separate written extent, although it could be merged to the neighboring extents in the extent tree. The reason for using this flag is that in case th

[PATCH 10/11] ext2: Use iomap_zero_range() for zeroing truncated page in DAX path

2016-11-01 Thread Jan Kara
Currently the last user of ext2_get_blocks() for DAX inodes was dax_truncate_page(). Convert that to iomap_zero_range() so that all DAX IO uses the iomap path. Signed-off-by: Jan Kara --- fs/ext2/inode.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/ext2/inod

[PATCH 0/11] ext4: Convert ext4 DAX IO to iomap framework

2016-11-01 Thread Jan Kara
Hello, this patch set converts ext4 DAX IO paths to the new iomap framework and removes the old bh-based DAX functions. As a result ext4 gains PMD page fault support, also some other minor bugs get fixed. The patch set is based on Ross' DAX PMD page fault support series [1]. It passes xfstests bot

[PATCH 09/11] ext4: Rip out DAX handling from direct IO path

2016-11-01 Thread Jan Kara
Reads and writes for DAX inodes should no longer end up in direct IO code. Rip out the support and add a warning. Signed-off-by: Jan Kara --- fs/ext4/inode.c | 49 +++-- 1 file changed, 15 insertions(+), 34 deletions(-) diff --git a/fs/ext4/inode.c b/

[PATCH 06/11] ext4: DAX iomap write support

2016-11-01 Thread Jan Kara
Implement DAX writes using the new iomap infrastructure instead of overloading the direct IO path. Signed-off-by: Jan Kara --- fs/ext4/file.c | 39 ++-- fs/ext4/inode.c | 94 + 2 files changed, 125 insertions(+), 8 dele

[PATCH 11/11] dax: Rip out get_block based IO support

2016-11-01 Thread Jan Kara
No one uses functions using the get_block callback anymore. Rip them out. Signed-off-by: Jan Kara --- fs/dax.c| 315 include/linux/dax.h | 12 -- 2 files changed, 327 deletions(-) diff --git a/fs/dax.c b/fs/dax.c index 1fdf4c0913

[PATCH 08/11] ext4: Convert DAX faults to iomap infrastructure

2016-11-01 Thread Jan Kara
Convert DAX faults to use iomap infrastructure. We would not have to start transaction in ext4_dax_fault() anymore since ext4_iomap_begin takes care of that but so far we do that to avoid lock inversion of transaction start with DAX entry lock which gets acquired in dax_iomap_fault() before calling

[PATCH 04/11] ext4: Convert DAX reads to iomap infrastructure

2016-11-01 Thread Jan Kara
Implement basic iomap_begin function that handles reading and use it for DAX reads. Signed-off-by: Jan Kara --- fs/ext4/ext4.h | 2 ++ fs/ext4/file.c | 40 +++- fs/ext4/inode.c | 54 ++ 3 files changed, 95

[PATCH 02/11] ext4: Allow unaligned unlocked DAX IO

2016-11-01 Thread Jan Kara
Currently we don't allow unaligned writes without inode_lock. This is because zeroing of partial blocks could cause data corruption for racing unaligned writes to the same block. However DAX handles zeroing during block allocation and thus zeroing of partial blocks cannot race. Allow DAX unaligned

Re: [PATCH 0/11] ext4: Convert ext4 DAX IO to iomap framework

2016-11-01 Thread Dave Chinner
On Tue, Nov 01, 2016 at 10:06:10PM +0100, Jan Kara wrote: > Hello, > > this patch set converts ext4 DAX IO paths to the new iomap framework and > removes the old bh-based DAX functions. As a result ext4 gains PMD page > fault support, also some other minor bugs get fixed. The patch set is based >

[PATCH 05/21] mm: Trim __do_fault() arguments

2016-11-01 Thread Jan Kara
Use vm_fault structure to pass cow_page, page, and entry in and out of the function. That reduces number of __do_fault() arguments from 4 to 1. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/memory.c | 53 +++-- 1 file changed, 23 insert

[PATCH 01/20] mm: Change type of vmf->virtual_address

2016-11-01 Thread Jan Kara
Every single user of vmf->virtual_address typed that entry to unsigned long before doing anything with it. So just change the type of that entry to unsigned long immediately. Signed-off-by: Jan Kara --- arch/powerpc/platforms/cell/spufs/file.c | 4 ++-- arch/x86/entry/vdso/vma.c

[PATCH 0/21 v4] dax: Clear dirty bits after flushing caches

2016-11-01 Thread Jan Kara
Hello, this is the fourth revision of my patches to clear dirty bits from radix tree of DAX inodes when caches for corresponding pfns have been flushed. This patch set is significantly larger than the previous version because I'm changing how ->fault, ->page_mkwrite, and ->pfn_mkwrite handlers may

[PATCH 02/20] mm: Join struct fault_env and vm_fault

2016-11-01 Thread Jan Kara
Currently we have two different structures for passing fault information around - struct vm_fault and struct fault_env. DAX will need more information in struct vm_fault to handle its faults so the content of that structure would become event closer to fault_env. Furthermore it would need to genera

[PATCH 06/21] mm: Use passed vm_fault structure for in wp_pfn_shared()

2016-11-01 Thread Jan Kara
Instead of creating another vm_fault structure, use the one passed to wp_pfn_shared() for passing arguments into pfn_mkwrite handler. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/memory.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/mm/memory.c b/mm/m

[PATCH 09/21] mm: Factor out functionality to finish page faults

2016-11-01 Thread Jan Kara
Introduce function finish_fault() as a helper function for finishing page faults. It is rather thin wrapper around alloc_set_pte() but since we'd want to call this from DAX code or filesystems, it is still useful to avoid some boilerplate code. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara -

[PATCH 17/20] mm: Export follow_pte()

2016-11-01 Thread Jan Kara
DAX will need to implement its own version of page_check_address(). To avoid duplicating page table walking code, export follow_pte() which does what we need. Signed-off-by: Jan Kara --- include/linux/mm.h | 2 ++ mm/memory.c| 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) dif

[PATCH 12/21] mm: Factor out common parts of write fault handling

2016-11-01 Thread Jan Kara
Currently we duplicate handling of shared write faults in wp_page_reuse() and do_shared_fault(). Factor them out into a common function. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/memory.c | 78 + 1 file changed, 37 inser

[PATCH 04/21] mm: Use passed vm_fault structure in __do_fault()

2016-11-01 Thread Jan Kara
Instead of creating another vm_fault structure, use the one passed to __do_fault() for passing arguments into fault handler. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/memory.c | 25 ++--- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/mm/memor

[PATCH 16/21] mm: Provide helper for finishing mkwrite faults

2016-11-01 Thread Jan Kara
Provide a helper function for finishing write faults due to PTE being read-only. The helper will be used by DAX to avoid the need of complicating generic MM code with DAX locking specifics. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- include/linux/mm.h | 1 + mm/memory.c| 67

[PATCH 11/21] mm: Remove unnecessary vma->vm_ops check

2016-11-01 Thread Jan Kara
We don't check whether vma->vm_ops is NULL in do_shared_fault() so there's hardly any point in checking it in wp_page_shared() or wp_pfn_shared() which get called only for shared file mappings as well. Signed-off-by: Jan Kara --- mm/memory.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions

[PATCH 08/21] mm: Allow full handling of COW faults in ->fault handlers

2016-11-01 Thread Jan Kara
To allow full handling of COW faults add memcg field to struct vm_fault and a return value of ->fault() handler meaning that COW fault is fully handled and memcg charge must not be canceled. This will allow us to remove knowledge about special DAX locking from the generic fault code. Reviewed-by:

[PATCH 10/21] mm: Move handling of COW faults into DAX code

2016-11-01 Thread Jan Kara
Move final handling of COW faults from generic code into DAX fault handler. That way generic code doesn't have to be aware of peculiarities of DAX locking so remove that knowledge and make locking functions private to fs/dax.c. Signed-off-by: Jan Kara --- fs/dax.c| 58 +++

[PATCH 06/20] mm: Use pass vm_fault structure for in wp_pfn_shared()

2016-11-01 Thread Jan Kara
Instead of creating another vm_fault structure, use the one passed to wp_pfn_shared() for passing arguments into pfn_mkwrite handler. Signed-off-by: Jan Kara --- mm/memory.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/mm/memory.c b/mm/memory.c index ba7760fb7db2.

[PATCH 18/20] dax: Make cache flushing protected by entry lock

2016-11-01 Thread Jan Kara
Currently, flushing of caches for DAX mappings was ignoring entry lock. So far this was ok (modulo a bug that a difference in entry lock could cause cache flushing to be mistakenly skipped) but in the following patches we will write-protect PTEs on cache flushing and clear dirty tags. For that we w

[PATCH 18/21] mm: Export follow_pte()

2016-11-01 Thread Jan Kara
DAX will need to implement its own version of page_check_address(). To avoid duplicating page table walking code, export follow_pte() which does what we need. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- include/linux/mm.h | 2 ++ mm/memory.c| 4 ++-- 2 files changed, 4 inserti

[PATCH 02/21] mm: Use vmf->address instead of of vmf->virtual_address

2016-11-01 Thread Jan Kara
Every single user of vmf->virtual_address typed that entry to unsigned long before doing anything with it so the type of virtual_address does not really provide us any additional safety. Just use masked vmf->address which already has the appropriate type. Signed-off-by: Jan Kara --- arch/powerpc

[PATCH 14/21] mm: Use vmf->page during WP faults

2016-11-01 Thread Jan Kara
So far we set vmf->page during WP faults only when we needed to pass it to the ->page_mkwrite handler. Set it in all the cases now and use that instead of passing page pointer explicitly around. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/memory.c | 58 +

[PATCH 03/21] mm: Use pgoff in struct vm_fault instead of passing it separately

2016-11-01 Thread Jan Kara
struct vm_fault has already pgoff entry. Use it instead of passing pgoff as a separate argument and then assigning it later. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/khugepaged.c | 1 + mm/memory.c | 35 ++- 2 files changed, 19 insertions(+),

[PATCH 01/21] mm: Join struct fault_env and vm_fault

2016-11-01 Thread Jan Kara
Currently we have two different structures for passing fault information around - struct vm_fault and struct fault_env. DAX will need more information in struct vm_fault to handle its faults so the content of that structure would become event closer to fault_env. Furthermore it would need to genera

[PATCH 20/21] dax: Protect PTE modification on WP fault by radix tree entry lock

2016-11-01 Thread Jan Kara
Currently PTE gets updated in wp_pfn_shared() after dax_pfn_mkwrite() has released corresponding radix tree entry lock. When we want to writeprotect PTE on cache flush, we need PTE modification to happen under radix tree entry lock to ensure consistent updates of PTE and radix tree (standard faults

[PATCH 15/21] mm: Move part of wp_page_reuse() into the single call site

2016-11-01 Thread Jan Kara
wp_page_reuse() handles write shared faults which is needed only in wp_page_shared(). Move the handling only into that location to make wp_page_reuse() simpler and avoid a strange situation when we sometimes pass in locked page, sometimes unlocked etc. Reviewed-by: Ross Zwisler Signed-off-by: Jan

[PATCH 13/21] mm: Pass vm_fault structure into do_page_mkwrite()

2016-11-01 Thread Jan Kara
We will need more information in the ->page_mkwrite() helper for DAX to be able to fully finish faults there. Pass vm_fault structure to do_page_mkwrite() and use it there so that information propagates properly from upper layers. Reviewed-by: Ross Zwisler Signed-off-by: Jan Kara --- mm/memory.

[PATCH 21/21] dax: Clear dirty entry tags on cache flush

2016-11-01 Thread Jan Kara
Currently we never clear dirty tags in DAX mappings and thus address ranges to flush accumulate. Now that we have locking of radix tree entries, we have all the locking necessary to reliably clear the radix tree dirty tag when flushing caches for corresponding address range. Similarly to page_mkcle

[PATCH 17/21] mm: Change return values of finish_mkwrite_fault()

2016-11-01 Thread Jan Kara
Currently finish_mkwrite_fault() returns 0 when PTE got changed before we acquired PTE lock and VM_FAULT_WRITE when we succeeded in modifying the PTE. This is somewhat confusing since 0 generally means success, it is also inconsistent with finish_fault() which returns 0 on success. Change finish_mk

[PATCH 20/20] dax: Clear dirty entry tags on cache flush

2016-11-01 Thread Jan Kara
Currently we never clear dirty tags in DAX mappings and thus address ranges to flush accumulate. Now that we have locking of radix tree entries, we have all the locking necessary to reliably clear the radix tree dirty tag when flushing caches for corresponding address range. Similarly to page_mkcle

[PATCH 19/21] dax: Make cache flushing protected by entry lock

2016-11-01 Thread Jan Kara
Currently, flushing of caches for DAX mappings was ignoring entry lock. So far this was ok (modulo a bug that a difference in entry lock could cause cache flushing to be mistakenly skipped) but in the following patches we will write-protect PTEs on cache flushing and clear dirty tags. For that we w

[PATCH 19/20] dax: Protect PTE modification on WP fault by radix tree entry lock

2016-11-01 Thread Jan Kara
Currently PTE gets updated in wp_pfn_shared() after dax_pfn_mkwrite() has released corresponding radix tree entry lock. When we want to writeprotect PTE on cache flush, we need PTE modification to happen under radix tree entry lock to ensure consisten updates of PTE and radix tree (standard faults

[PATCH 07/21] mm: Add orig_pte field into vm_fault

2016-11-01 Thread Jan Kara
Add orig_pte field to vm_fault structure to allow ->page_mkwrite handlers to fully handle the fault. This also allows us to save some passing of extra arguments around. Signed-off-by: Jan Kara --- include/linux/mm.h | 4 +-- mm/internal.h | 2 +- mm/khugepaged.c| 7 ++--- mm/memory.c

Re: [PATCH 0/11] ext4: Convert ext4 DAX IO to iomap framework

2016-11-01 Thread Ross Zwisler
On Wed, Nov 02, 2016 at 09:12:35AM +1100, Dave Chinner wrote: > On Tue, Nov 01, 2016 at 10:06:10PM +0100, Jan Kara wrote: > > Hello, > > > > this patch set converts ext4 DAX IO paths to the new iomap framework and > > removes the old bh-based DAX functions. As a result ext4 gains PMD page > > faul

Re: [PATCH 0/11] ext4: Convert ext4 DAX IO to iomap framework

2016-11-01 Thread Jan Kara
On Tue 01-11-16 16:45:50, Ross Zwisler wrote: > On Wed, Nov 02, 2016 at 09:12:35AM +1100, Dave Chinner wrote: > > On Tue, Nov 01, 2016 at 10:06:10PM +0100, Jan Kara wrote: > > > Hello, > > > > > > this patch set converts ext4 DAX IO paths to the new iomap framework and > > > removes the old bh-bas

Re: [PATCH 0/21 v4] dax: Clear dirty bits after flushing caches

2016-11-01 Thread Jan Kara
Hi, forgot to add Kirill to CC since this modifies the fault path he changed recently. I don't want to resend the whole series just because of this so at least I'm pinging him like this... Honza On Tue 01-11-16 23:36:06, Jan Kara wro

Shipment delivery problem #0000200534

2016-11-01 Thread FedEx International Economy
Dear Customer, This is to confirm that one or more of your parcels has been shipped. Shipment Label is attached to this email. Warm regards, Vincent Waller, Operation Manager. ___ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org

Re: [PATCH 02/21] mm: Use vmf->address instead of of vmf->virtual_address

2016-11-01 Thread Hillf Danton
On Wednesday, November 02, 2016 6:36 AM Jan Kara wrote: > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 8e8b76d11bb4..2a4ebe3c67c6 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -297,8 +297,6 @@ struct vm_fault { > gfp_t gfp_mask; /* gfp mask

Re: [PATCH 0/21 v4] dax: Clear dirty bits after flushing caches

2016-11-01 Thread Ross Zwisler
On Tue, Nov 01, 2016 at 11:36:06PM +0100, Jan Kara wrote: > Hello, > > this is the fourth revision of my patches to clear dirty bits from radix tree > of DAX inodes when caches for corresponding pfns have been flushed. This patch > set is significantly larger than the previous version because I'm