The interrupt type used for identifying the layout of the interrupt
configuration registers between OMAP4+ SoCs and older SoCs is stored
only in the sub-mailbox structures for easier access. Store this type
in the the omap_mbox_device structure as well along with the other
global variables. This
On Wed, Mar 30, 2016 at 4:11 AM, Andy Shevchenko
wrote:
> On Wed, 2016-03-30 at 14:07 +0300, Andy Shevchenko wrote:
>> On Mon, 2016-03-28 at 14:14 -0700, Kees Cook wrote:
>
>
>> > + res = get_cmdline(task, buffer, PAGE_SIZE - 1);
>> > + buffer[res] = '\0';
>> > +
>> > + /* Collapse trailing
The OMAP mailbox driver is used by clients to communicate with remote
processors in general. The mailbox clients are expected to have stopped
communicating with these remote processors during a system suspend. The
OMAP mailbox fifos are expected to not have any messages as such. Add a
check for
The OMAP mailbox driver is used by clients to communicate with remote
processors in general. The mailbox clients are expected to have stopped
communicating with these remote processors during a system suspend. The
OMAP mailbox fifos are expected to not have any messages as such. Add a
check for
The omap_mbox_save_ctx() and omap_mbox_restore_ctx() API were
previously provided to OMAP mailbox clients to save and restore
the mailbox context during system suspend/resume. The save and
restore functionality is now implemented through System PM driver
callbacks, and there is no need for these
Hi,
The following series adds the suspend/resume support through the PM
callbacks to the OMAP mailbox driver. The functionality is added mainly
in Patch 2. Patch 4 kills the legacy API exported to the mailbox clients
to save and restore the context.
The series is based on 4.6-rc2 + the OMAP
Hi,
The following series adds the suspend/resume support through the PM
callbacks to the OMAP mailbox driver. The functionality is added mainly
in Patch 2. Patch 4 kills the legacy API exported to the mailbox clients
to save and restore the context.
The series is based on 4.6-rc2 + the OMAP
The omap_mbox_save_ctx() and omap_mbox_restore_ctx() API were
previously provided to OMAP mailbox clients to save and restore
the mailbox context during system suspend/resume. The save and
restore functionality is now implemented through System PM driver
callbacks, and there is no need for these
Support has been added to the OMAP mailbox driver to allow it
to work across a system suspend/resume. The OMAP mailbox driver
requires only the interrupt configuration registers to be saved
and restored, and this is done in the suspend/resume callbacks.
The registers need to be saved only if there
Support has been added to the OMAP mailbox driver to allow it
to work across a system suspend/resume. The OMAP mailbox driver
requires only the interrupt configuration registers to be saved
and restored, and this is done in the suspend/resume callbacks.
The registers need to be saved only if there
On 04/01/2016 07:54 AM, Boris Brezillon wrote:
> Hello,
>
> of_mtd.{h,c} are providing the of_get_nand_xxx() helpers to help NAND
> controller drivers parse some generic NAND DT properties.
> An infrastructure has recently been added to NAND core to automatically
> parse those properties when
On 04/01/2016 07:54 AM, Boris Brezillon wrote:
> Hello,
>
> of_mtd.{h,c} are providing the of_get_nand_xxx() helpers to help NAND
> controller drivers parse some generic NAND DT properties.
> An infrastructure has recently been added to NAND core to automatically
> parse those properties when
On Sunday, April 03, 2016 01:06:46 PM Srinivas Pandruvada wrote:
> No code change. Only added kernel doc style comments for structures.
>
> Signed-off-by: Srinivas Pandruvada
Applied, thanks!
On Sunday, April 03, 2016 01:06:46 PM Srinivas Pandruvada wrote:
> No code change. Only added kernel doc style comments for structures.
>
> Signed-off-by: Srinivas Pandruvada
Applied, thanks!
On Saturday, March 26, 2016 05:03:38 AM Srinivas Pandruvada wrote:
> Added missing model 0x46.
>
> Tested-and-reported-by: Piotr Maksymiuk
> Signed-off-by: Srinivas Pandruvada
> ---
> drivers/powercap/intel_rapl.c | 1 +
> 1
On Saturday, March 26, 2016 05:03:38 AM Srinivas Pandruvada wrote:
> Added missing model 0x46.
>
> Tested-and-reported-by: Piotr Maksymiuk
> Signed-off-by: Srinivas Pandruvada
> ---
> drivers/powercap/intel_rapl.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git
On Sunday, April 03, 2016 02:27:27 PM Alan Stern wrote:
> On Sun, 3 Apr 2016, Krzysztof Kozlowski wrote:
>
> > Put a reminder that during device removal drivers should revert all PM
> > runtime changes from the probe.
> >
> > Signed-off-by: Krzysztof Kozlowski
> >
> > ---
> >
On Sunday, April 03, 2016 02:27:27 PM Alan Stern wrote:
> On Sun, 3 Apr 2016, Krzysztof Kozlowski wrote:
>
> > Put a reminder that during device removal drivers should revert all PM
> > runtime changes from the probe.
> >
> > Signed-off-by: Krzysztof Kozlowski
> >
> > ---
> >
> > Changes
On Thursday, March 24, 2016 09:51:57 AM Viresh Kumar wrote:
> The comment in file header doesn't hold true anymore, drop it.
>
> Signed-off-by: Viresh Kumar
> ---
> drivers/cpufreq/cpufreq-dt.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git
On Thursday, March 24, 2016 09:51:57 AM Viresh Kumar wrote:
> The comment in file header doesn't hold true anymore, drop it.
>
> Signed-off-by: Viresh Kumar
> ---
> drivers/cpufreq/cpufreq-dt.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/cpufreq/cpufreq-dt.c
Hi Greg,
Please pull these lkdtm changes for 4.6-rc3. (BTW, should I send these
lkdtm pulls to you, or to Linus?)
Thanks!
-Kees
The following changes since commit c4004b02f8e5b9ce357a0bb1641756cc86962664:
x86: remove the kernel code/data/bss resources from /proc/iomem (2016-04-06
13:45:07
Hi Greg,
Please pull these lkdtm changes for 4.6-rc3. (BTW, should I send these
lkdtm pulls to you, or to Linus?)
Thanks!
-Kees
The following changes since commit c4004b02f8e5b9ce357a0bb1641756cc86962664:
x86: remove the kernel code/data/bss resources from /proc/iomem (2016-04-06
13:45:07
On Wed, Apr 06, 2016 at 02:41:01PM -0700, Manav Batra wrote:
> Fixes CHECK: Alignment should match open parenthesis
>
> Is the subject and patch fine?
> Sorry, just getting used to the process, and thanks.
Yes, this is better, but please resend without these two lines in here,
you don't want
On Wed, Apr 06, 2016 at 02:41:01PM -0700, Manav Batra wrote:
> Fixes CHECK: Alignment should match open parenthesis
>
> Is the subject and patch fine?
> Sorry, just getting used to the process, and thanks.
Yes, this is better, but please resend without these two lines in here,
you don't want
On Mon, 4 Apr 2016 08:06:55 +
Eric Auger wrote:
> This series introduces the dma-reserved-iommu api used to:
> - create/destroy an iova domain dedicated to reserved iova bindings
> - map/unmap physical addresses onto reserved IOVAs.
> - unmap and destroy all IOVA
On Mon, 4 Apr 2016 08:06:55 +
Eric Auger wrote:
> This series introduces the dma-reserved-iommu api used to:
> - create/destroy an iova domain dedicated to reserved iova bindings
> - map/unmap physical addresses onto reserved IOVAs.
> - unmap and destroy all IOVA reserved bindings
Why are
On 04/06/2016 03:52 PM, Sjoerd Simons wrote:
clk_get on a disabled clock node will return EPROBE_DEFER, which can
cause drivers to be deferred forever if such clocks are referenced in
their clocks property.
Update the various disabled external clock nodes to default to a
frequency of 0, but
On 04/06/2016 03:52 PM, Sjoerd Simons wrote:
clk_get on a disabled clock node will return EPROBE_DEFER, which can
cause drivers to be deferred forever if such clocks are referenced in
their clocks property.
Update the various disabled external clock nodes to default to a
frequency of 0, but
From: Jonas Rabenstein
The file arch/ia64/include/asm/segment.h contains only a comment that it
is still in the source tree as it may be referenced from some files.
Actually only 2 files that are not in an arch/* directory include
.
The first is
From: Jonas Rabenstein
The file arch/ia64/include/asm/segment.h contains only a comment that it
is still in the source tree as it may be referenced from some files.
Actually only 2 files that are not in an arch/* directory include
.
The first is drivers/lguest/x86/switcher_32.S and obviously is
From: Jonas Rabenstein
The file arch/ia64/include/asm/mc146818rtc.h is not used anymore. It
would be included by include/linuxmc146818rtc.h which in fact is
included by the following files:
* sound/core/rtctimer.c:
depends on SND_RTCTIMER -> RTC
From: Jonas Rabenstein
The file arch/ia64/include/asm/mc146818rtc.h is not used anymore. It
would be included by include/linuxmc146818rtc.h which in fact is
included by the following files:
* sound/core/rtctimer.c:
depends on SND_RTCTIMER -> RTC -> !IA64
* drivers/char/nvram.c:
Hi All,
Currently linux-next is failing to boot via NFS on my AM335x GP evm,
AM437x GP evm and Beagle X15. I bisected the problem down to the commit
"udp: remove headers from UDP packets before queueing".
I had to revert the following three commits to get things working again:
From: Jonas Rabenstein
This patchset removes three unreferenced and unused header files of the ia64
architecture. Also some #include directives would resolve to the files I propose
for removal, the dependencies defined by kconfig for those files do not
From: Jonas Rabenstein
The file arch/ia64/include/asm/idle.h can not be included by any file
and as a consequence may be removed from the source tree.
Currently five files have #includes for asm/idle.h:
drivers/cpufreq/loongson2_cpufreq.c:
Hi All,
Currently linux-next is failing to boot via NFS on my AM335x GP evm,
AM437x GP evm and Beagle X15. I bisected the problem down to the commit
"udp: remove headers from UDP packets before queueing".
I had to revert the following three commits to get things working again:
From: Jonas Rabenstein
This patchset removes three unreferenced and unused header files of the ia64
architecture. Also some #include directives would resolve to the files I propose
for removal, the dependencies defined by kconfig for those files do not allow
their usage together with ia64.
I
From: Jonas Rabenstein
The file arch/ia64/include/asm/idle.h can not be included by any file
and as a consequence may be removed from the source tree.
Currently five files have #includes for asm/idle.h:
drivers/cpufreq/loongson2_cpufreq.c:
depends on LOONGSON2 (mips)
On Mon, 4 Apr 2016 08:07:01 +
Eric Auger wrote:
> This patch introduces iommu_get/put_single_reserved.
>
> iommu_get_single_reserved allows to allocate a new reserved iova page
> and map it onto the physical page that contains a given physical address.
> Page size is
On Mon, 4 Apr 2016 08:07:01 +
Eric Auger wrote:
> This patch introduces iommu_get/put_single_reserved.
>
> iommu_get_single_reserved allows to allocate a new reserved iova page
> and map it onto the physical page that contains a given physical address.
> Page size is the IOMMU page one. It
On Wed, 2016-04-06 at 22:13:59 +, Koul, Vinod wrote:
> On Wed, 2016-04-06 at 23:16 +0200, Lars-Peter Clausen wrote:
> > On 04/06/2016 06:25 PM, Appana Durga Kedareswara Rao wrote:
> > > a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt
> > > > > +++
> > > > >
We always have vma->vm_mm around.
Signed-off-by: Kirill A. Shutemov
---
arch/alpha/mm/fault.c | 2 +-
arch/arc/mm/fault.c | 2 +-
arch/arm/mm/fault.c | 2 +-
arch/arm64/mm/fault.c | 2 +-
arch/avr32/mm/fault.c | 2
On Wed, 2016-04-06 at 22:13:59 +, Koul, Vinod wrote:
> On Wed, 2016-04-06 at 23:16 +0200, Lars-Peter Clausen wrote:
> > On 04/06/2016 06:25 PM, Appana Durga Kedareswara Rao wrote:
> > > a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt
> > > > > +++
> > > > >
We always have vma->vm_mm around.
Signed-off-by: Kirill A. Shutemov
---
arch/alpha/mm/fault.c | 2 +-
arch/arc/mm/fault.c | 2 +-
arch/arm/mm/fault.c | 2 +-
arch/arm64/mm/fault.c | 2 +-
arch/avr32/mm/fault.c | 2 +-
arch/cris/mm/fault.c
File COW for THP is handled on pte level: just split the pmd.
It's not clear how benefitial would be allocation of huge pages on COW
faults. And it would require some code to make them work.
I think at some point we can consider teaching khugepaged to collapse
pages in COW mappings, but
On Mon, 4 Apr 2016 08:06:59 +
Eric Auger wrote:
> Introduce alloc/free_reserved_iova_domain in the IOMMU API.
> alloc_reserved_iova_domain initializes an iova domain at a given
> iova base address and with a given size. This iova domain will
> be used to allocate iova
The idea (and most of code) is borrowed again: from Hugh's patchset on
huge tmpfs[1].
Instead of allocation pte page table upfront, we postpone this until we
have page to map in hands. This approach opens possibility to map the
page as huge if filesystem supports this.
Comparing to Hugh's patch
vma_addjust_trans_huge() splits pmd if it's crossing VMA boundary.
During split we munlock the huge page which requires rmap walk.
rmap wants to take the lock on its own.
Let's move vma_adjust_trans_huge() outside i_mmap_rwsem to fix this.
Signed-off-by: Kirill A. Shutemov
File COW for THP is handled on pte level: just split the pmd.
It's not clear how benefitial would be allocation of huge pages on COW
faults. And it would require some code to make them work.
I think at some point we can consider teaching khugepaged to collapse
pages in COW mappings, but
On Mon, 4 Apr 2016 08:06:59 +
Eric Auger wrote:
> Introduce alloc/free_reserved_iova_domain in the IOMMU API.
> alloc_reserved_iova_domain initializes an iova domain at a given
> iova base address and with a given size. This iova domain will
> be used to allocate iova within that window.
The idea (and most of code) is borrowed again: from Hugh's patchset on
huge tmpfs[1].
Instead of allocation pte page table upfront, we postpone this until we
have page to map in hands. This approach opens possibility to map the
page as huge if filesystem supports this.
Comparing to Hugh's patch
vma_addjust_trans_huge() splits pmd if it's crossing VMA boundary.
During split we munlock the huge page which requires rmap walk.
rmap wants to take the lock on its own.
Let's move vma_adjust_trans_huge() outside i_mmap_rwsem to fix this.
Signed-off-by: Kirill A. Shutemov
---
mm/mmap.c | 4
The idea borrowed from Peter's patch from patchset on speculative page
faults[1]:
Instead of passing around the endless list of function arguments,
replace the lot with a single structure so we can change context
without endless function signature changes.
The changes are mostly mechanical with
split_huge_pmd() for file mappings (and DAX too) is implemented by just
clearing pmd entry as we can re-fill this area from page cache on pte
level later.
This means we don't need deposit page tables when file THP is mapped.
Therefore we shouldn't try to withdraw a page table on zap_huge_pmd()
Add description of THP handling into unevictable-lru.txt.
Signed-off-by: Kirill A. Shutemov
---
Documentation/vm/unevictable-lru.txt | 21 +
1 file changed, 21 insertions(+)
diff --git a/Documentation/vm/unevictable-lru.txt
copy_page_range() has a check for "Don't copy ptes where a page fault
will fill them correctly." It works on VMA level. We still copy all page
table entries from private mappings, even if they map page cache.
We can simplify copy_huge_pmd() a bit by skipping file PMDs.
We don't map file private
Add description of THP handling into unevictable-lru.txt.
Signed-off-by: Kirill A. Shutemov
---
Documentation/vm/unevictable-lru.txt | 21 +
1 file changed, 21 insertions(+)
diff --git a/Documentation/vm/unevictable-lru.txt
b/Documentation/vm/unevictable-lru.txt
index
copy_page_range() has a check for "Don't copy ptes where a page fault
will fill them correctly." It works on VMA level. We still copy all page
table entries from private mappings, even if they map page cache.
We can simplify copy_huge_pmd() a bit by skipping file PMDs.
We don't map file private
The idea borrowed from Peter's patch from patchset on speculative page
faults[1]:
Instead of passing around the endless list of function arguments,
replace the lot with a single structure so we can change context
without endless function signature changes.
The changes are mostly mechanical with
split_huge_pmd() for file mappings (and DAX too) is implemented by just
clearing pmd entry as we can re-fill this area from page cache on pte
level later.
This means we don't need deposit page tables when file THP is mapped.
Therefore we shouldn't try to withdraw a page table on zap_huge_pmd()
Splitting THP PMD is simple: just unmap it as in DAX case.
Unlike DAX, we also remove the page from rmap and drop reference.
Signed-off-by: Kirill A. Shutemov
---
mm/huge_memory.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git
Add info about tmpfs/shmem with huge pages.
Signed-off-by: Kirill A. Shutemov
---
Documentation/vm/transhuge.txt | 130 +
1 file changed, 93 insertions(+), 37 deletions(-)
diff --git a/Documentation/vm/transhuge.txt
Splitting THP PMD is simple: just unmap it as in DAX case.
Unlike DAX, we also remove the page from rmap and drop reference.
Signed-off-by: Kirill A. Shutemov
---
mm/huge_memory.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
Add info about tmpfs/shmem with huge pages.
Signed-off-by: Kirill A. Shutemov
---
Documentation/vm/transhuge.txt | 130 +
1 file changed, 93 insertions(+), 37 deletions(-)
diff --git a/Documentation/vm/transhuge.txt b/Documentation/vm/transhuge.txt
index
THP_FILE_ALLOC: how many times huge page was allocated and put page
cache.
THP_FILE_MAPPED: how many times file huge page was mapped.
Signed-off-by: Kirill A. Shutemov
---
include/linux/vm_event_item.h | 7 +++
mm/memory.c | 1 +
Naive approach: on mapping/unmapping the page as compound we update
->_mapcount on each 4k page. That's not efficient, but it's not obvious
how we can optimize this. We can look into optimization later.
PG_double_map optimization doesn't work for file pages since lifecycle
of file pages is
With postponed page table allocation we have chance to setup huge pages.
do_set_pte() calls do_set_pmd() if following criteria met:
- page is compound;
- pmd entry in pmd_none();
- vma has suitable size and alignment;
Signed-off-by: Kirill A. Shutemov
---
Let's add ShmemHugePages and ShmemPmdMapped fields into meminfo and
smaps. It indicates how many times we allocate and map shmem THP.
NR_ANON_TRANSPARENT_HUGEPAGES is renamed to NR_ANON_THPS.
Signed-off-by: Kirill A. Shutemov
---
drivers/base/node.c| 13
Naive approach: on mapping/unmapping the page as compound we update
->_mapcount on each 4k page. That's not efficient, but it's not obvious
how we can optimize this. We can look into optimization later.
PG_double_map optimization doesn't work for file pages since lifecycle
of file pages is
With postponed page table allocation we have chance to setup huge pages.
do_set_pte() calls do_set_pmd() if following criteria met:
- page is compound;
- pmd entry in pmd_none();
- vma has suitable size and alignment;
Signed-off-by: Kirill A. Shutemov
---
include/linux/huge_mm.h | 2 ++
Let's add ShmemHugePages and ShmemPmdMapped fields into meminfo and
smaps. It indicates how many times we allocate and map shmem THP.
NR_ANON_TRANSPARENT_HUGEPAGES is renamed to NR_ANON_THPS.
Signed-off-by: Kirill A. Shutemov
---
drivers/base/node.c| 13 +
fs/proc/meminfo.c
THP_FILE_ALLOC: how many times huge page was allocated and put page
cache.
THP_FILE_MAPPED: how many times file huge page was mapped.
Signed-off-by: Kirill A. Shutemov
---
include/linux/vm_event_item.h | 7 +++
mm/memory.c | 1 +
mm/vmstat.c | 2 ++
3
These flags are in use for file THP.
Signed-off-by: Kirill A. Shutemov
---
include/linux/page-flags.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index
Basic scheme is the same as for anon THP.
Main differences:
- File pages are on radix-tree, so we have head->_count offset by
HPAGE_PMD_NR. The count got distributed to small pages during split.
- mapping->tree_lock prevents non-lockless access to pages under split
over radix-tree;
Here's basic implementation of huge pages support for shmem/tmpfs.
It's all pretty streight-forward:
- shmem_getpage() allcoates huge page if it can and try to inserd into
radix tree with shmem_add_to_page_cache();
- shmem_add_to_page_cache() puts the page onto radix-tree if there's
These flags are in use for file THP.
Signed-off-by: Kirill A. Shutemov
---
include/linux/page-flags.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 517707ae8cd1..9d518876dd6a 100644
---
Basic scheme is the same as for anon THP.
Main differences:
- File pages are on radix-tree, so we have head->_count offset by
HPAGE_PMD_NR. The count got distributed to small pages during split.
- mapping->tree_lock prevents non-lockless access to pages under split
over radix-tree;
Here's basic implementation of huge pages support for shmem/tmpfs.
It's all pretty streight-forward:
- shmem_getpage() allcoates huge page if it can and try to inserd into
radix tree with shmem_add_to_page_cache();
- shmem_add_to_page_cache() puts the page onto radix-tree if there's
Let's wire up existing madvise() hugepage hints for file mappings.
MADV_HUGEPAGE advise shmem to allocate huge page on page fault in the
VMA. It only has effect if the filesystem is mounted with huge=advise or
huge=within_size.
MADV_NOHUGEPAGE prevents hugepage from being allocated on page fault
The new helper is similar to radix_tree_maybe_preload(), but tries to
preload number of nodes required to insert (1 << order) continuous
naturally-aligned elements.
This is required to push huge pages into pagecache.
Signed-off-by: Kirill A. Shutemov
---
Let's wire up existing madvise() hugepage hints for file mappings.
MADV_HUGEPAGE advise shmem to allocate huge page on page fault in the
VMA. It only has effect if the filesystem is mounted with huge=advise or
huge=within_size.
MADV_NOHUGEPAGE prevents hugepage from being allocated on page fault
The new helper is similar to radix_tree_maybe_preload(), but tries to
preload number of nodes required to insert (1 << order) continuous
naturally-aligned elements.
This is required to push huge pages into pagecache.
Signed-off-by: Kirill A. Shutemov
---
include/linux/radix-tree.h | 1 +
On Tue, Apr 5, 2016 at 10:11 AM, Sudip Mukherjee
wrote:
> This case is supposed to read from a page after after it is freed, but
> it missed freeing val if we are not able to get a free page.
>
> Signed-off-by: Sudip Mukherjee
> ---
>
Hello,
On Wed, Apr 06, 2016 at 05:51:45PM -0400, Waiman Long wrote:
> >>+ /*
> >>+* If a statistics count is in the middle of being updated, it
> >>+* is possible that the above clearing may not work. So we need
> >>+* to double check again to make sure that the counters are really
Both variants of khugepaged_alloc_page() do up_read(>mmap_sem)
first: no point keep it inside the function.
Signed-off-by: Kirill A. Shutemov
---
mm/khugepaged.c | 25 ++---
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git
We need to mirror logic in move_ptes() wrt need_rmap_locks to get proper
serialization file THP.
Signed-off-by: Kirill A. Shutemov
---
mm/mremap.c | 22 --
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/mm/mremap.c
On Tue, Apr 5, 2016 at 10:11 AM, Sudip Mukherjee
wrote:
> This case is supposed to read from a page after after it is freed, but
> it missed freeing val if we are not able to get a free page.
>
> Signed-off-by: Sudip Mukherjee
> ---
> drivers/misc/lkdtm.c | 3 ++-
> 1 file changed, 2
Hello,
On Wed, Apr 06, 2016 at 05:51:45PM -0400, Waiman Long wrote:
> >>+ /*
> >>+* If a statistics count is in the middle of being updated, it
> >>+* is possible that the above clearing may not work. So we need
> >>+* to double check again to make sure that the counters are really
Both variants of khugepaged_alloc_page() do up_read(>mmap_sem)
first: no point keep it inside the function.
Signed-off-by: Kirill A. Shutemov
---
mm/khugepaged.c | 25 ++---
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
We need to mirror logic in move_ptes() wrt need_rmap_locks to get proper
serialization file THP.
Signed-off-by: Kirill A. Shutemov
---
mm/mremap.c | 22 --
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/mm/mremap.c b/mm/mremap.c
index
For shmem/tmpfs we only need to tweak truncate_inode_page() and
invalidate_mapping_pages().
Signed-off-by: Kirill A. Shutemov
---
mm/truncate.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/mm/truncate.c
For shmem/tmpfs we only need to tweak truncate_inode_page() and
invalidate_mapping_pages().
Signed-off-by: Kirill A. Shutemov
---
mm/truncate.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/mm/truncate.c b/mm/truncate.c
index
This is preparation of vmscan for file huge pages. We cannot write out
huge pages, so we need to split them on the way out.
Signed-off-by: Kirill A. Shutemov
---
mm/vmscan.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/mm/vmscan.c b/mm/vmscan.c
This patch adds new mount option "huge=". It can have following values:
- "always":
Attempt to allocate huge pages every time we need a new page;
- "never":
Do not allocate huge pages;
- "within_size":
Only allocate huge page if it will be fully within i_size.
This is preparation of vmscan for file huge pages. We cannot write out
huge pages, so we need to split them on the way out.
Signed-off-by: Kirill A. Shutemov
---
mm/vmscan.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index b934223eaa45..4cc96ba44a34
This patch adds new mount option "huge=". It can have following values:
- "always":
Attempt to allocate huge pages every time we need a new page;
- "never":
Do not allocate huge pages;
- "within_size":
Only allocate huge page if it will be fully within i_size.
This patch extends khugepaged to support collapse of tmpfs/shmem pages.
We share fair amount of infrastructure with anon-THP collapse.
Few design points:
- First we are looking for VMA which can be suitable for mapping huge
page;
- If the VMA maps shmem file, the rest scan/collapse
change_huge_pmd() has assert which is not relvant for file page.
For shared mapping it's perfectly fine to have page table entry
writable, without explicit mkwrite.
Signed-off-by: Kirill A. Shutemov
---
mm/huge_memory.c | 3 ++-
1 file changed, 2 insertions(+),
This patch extends khugepaged to support collapse of tmpfs/shmem pages.
We share fair amount of infrastructure with anon-THP collapse.
Few design points:
- First we are looking for VMA which can be suitable for mapping huge
page;
- If the VMA maps shmem file, the rest scan/collapse
change_huge_pmd() has assert which is not relvant for file page.
For shared mapping it's perfectly fine to have page table entry
writable, without explicit mkwrite.
Signed-off-by: Kirill A. Shutemov
---
mm/huge_memory.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
301 - 400 of 1854 matches
Mail list logo