t page private before we free the page.
>
> Signed-off-by: Andy Whitcroft <[EMAIL PROTECTED]>
Acked-by: Adam Litke <[EMAIL PROTECTED]>
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel
On Tue, 2008-02-19 at 15:30 -0800, Andrew Morton wrote:
> On Tue, 19 Feb 2008 12:41:51 -0600 Adam Litke <[EMAIL PROTECTED]> wrote:
>
> > Indeed. I'll take credit for this thinko...
> >
> > On Tue, 2008-02-19 at 18:28 +, Andy Whitcroft wrote:
> > >
hugetlb_pte_fault().
Diffed against 2.6.13-rc4-git4
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
fs/hugetlbfs/inode.c|5 -
include/linux/hugetlb.h |2
mm/hugetlb.c| 140 +++-
mm/memory.c |7 --
4 files c
On Fri, 2005-08-05 at 10:53, Andi Kleen wrote:
> On Fri, Aug 05, 2005 at 10:21:38AM -0500, Adam Litke wrote:
> > Below is a patch to implement demand faulting for huge pages. The main
> > motivation for changing from prefaulting to demand faulting is so that
> > huge page a
On Fri, 2005-08-05 at 11:47, Andi Kleen wrote:
> On Fri, Aug 05, 2005 at 11:37:27AM -0500, Adam Litke wrote:
> > On Fri, 2005-08-05 at 10:53, Andi Kleen wrote:
> > > On Fri, Aug 05, 2005 at 10:21:38AM -0500, Adam Litke wrote:
> > > > Below is a patch to implement
On Fri, 2005-08-05 at 17:05, Chen, Kenneth W wrote:
> Adam Litke wrote on Friday, August 05, 2005 8:22 AM
> > Below is a patch to implement demand faulting for huge pages. The main
> > motivation for changing from prefaulting to demand faulting is so that
> > huge page alloc
ctures if we reach a consensus.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
pgtable.h | 51 ++-
1 files changed, 34 insertions(+), 17 deletions(-)
diff -upN reference/include/asm-i386/pgtable.h
current/include/asm-i386/pgtable.h
--- reference/
- 1);
printf("Chunk size = %i\n", chunk_size);
for (i = 0; i < bytes; i+=chunk_size)
dirty_file(fd, chunk_size, i);
exit(0);
}
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsu
Hi Andrew. The following 3 patches update the i386 and x86_64 hugetlb
arch code to bring it closer to the other architectures. The first
patch adds a pte_huge() macro. The second patch moves the "stale pte"
check into huge_pte_alloc() which seems more appropriate to me. The
third patch checks f
ainst 2.6.13-rc6-git7
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
asm-i386/pgtable.h |4 +++-
asm-x86_64/pgtable.h |3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff -upN reference/include/asm-i386/pgtable.h
current/include/asm-i386/pgtable.h
--- reference/inclu
Initial Post (Wed, 17 Aug 2005)
For demand faulting, we cannot assume that the page tables will be populated.
Do what the rest of the architectures do and test p?d_present() while walking
down the page table.
Diffed against 2.6.13-rc6
Signed-off-by: Adam Litke <[EMAIL PROTEC
g huge pages
later in the series.
Diffed against 2.6.13-rc6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
arch/i386/mm/hugetlbpage.c | 13 +++--
mm/hugetlb.c |2 --
2 files changed, 11 insertions(+), 4 deletions(-)
diff -upN reference/arch/i386/mm/hugetlbpage
Initial Post (Wed, 17 Aug 2005)
For demand faulting, we cannot assume that the page tables will be populated.
Do what the rest of the architectures do and test p?d_present() while walking
down the page table.
Diffed against 2.6.13-rc6
Signed-off-by: Adam Litke <[EMAIL PROTEC
g huge pages
later in the series.
Diffed against 2.6.13-rc6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
arch/i386/mm/hugetlbpage.c | 13 +++--
mm/hugetlb.c |2 --
2 files changed, 11 insertions(+), 4 deletions(-)
diff -upN reference/arch/i386/mm/hugetlbpage
ainst 2.6.13-rc6-git7
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
asm-i386/pgtable.h |4 +++-
asm-x86_64/pgtable.h |3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff -upN reference/include/asm-i386/pgtable.h
current/include/asm-i386/pgtable.h
--- reference/inclu
I am sending out the latest set of patches for hugetlb demand faulting.
I've incorporated all the feedback I've received from previous
discussions and I think this is ready for some more widespread testing.
Is anyone opposed to spinning this in -mm as it stands?
The three patches:
1) Remove a get
ml.org/lkml/2004/4/13/176 , which contains more opinions about the
correctness of this approach.
Diffed against 2.6.13-git6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
memory.c |5 -
1 files changed, 5 deletions(-)
diff -upN reference/mm/memory.c current/mm/memory.c
--- refer
s underway and builds on
what this patch starts.
Huge page shared memory segments are simpler and still maintain their commit on
shmget semantics.
Diffed against 2.6.13-git6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
inode.c | 47 +++
1 f
fault handler. The bulk of the patch just moves the logic from
hugelb_prefault() to hugetlb_pte_fault().
Diffed against 2.6.13-git6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c|6 --
include/linux/hugetlb.h |2
mm/hugetlb.c
On Wed, 2005-09-07 at 10:33 +0800, Zhang, Yanmin wrote:
> >>-Original Message-
> >>From: [EMAIL PROTECTED]
> >>[mailto:[EMAIL PROTECTED] On Behalf Of Adam Litke
> >>Sent: Wednesday, September 07, 2005 5:59 AM
> >>To: linux-kernel@vger.kernel.org
that is no longer valid for
demand faulting
2) Move fault logic from hugetlb_prefault() to hugetlb_pte_fault()
3) Apply a simple overcommit check so demand fault accounting behaves
in a manner in line with how prefault worked
Diffed against 2.6.13-git6
--
Adam Litke - (agl at us.ibm.com)
IBM
ml.org/lkml/2004/4/13/176 , which contains more opinions about the
correctness of this approach.
Diffed against 2.6.13-git6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
memory.c |5 -
1 files changed, 5 deletions(-)
diff -upN reference/mm/memory.c current/mm/memory.c
--- refer
s underway and builds on
what this patch starts.
Huge page shared memory segments are simpler and still maintain their commit on
shmget semantics.
Diffed against 2.6.13-git6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
inode.c | 47 +++
1 f
es the logic from
hugelb_prefault() to hugetlb_pte_fault().
Diffed against 2.6.13-git6
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c|6 -
include/linux/hugetlb.h |2
mm/hugetlb.c| 154 +---
make the pte writable, it notes the presence of the pte
and continues.
This simple one-liner makes sure we also fault on the pte for this case.
Please apply.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
Acked-by: Dave Kleikamp <[EMAIL PROTECTED]>
---
mm/hugetlb.c |2 +-
1 file
in my latest dynamic pool resizing
patchset which I will send out soon.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
mm/hugetlb.c |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 84c795e..7af3908 100644
--- a/mm/hugetl
e_huge_pages)
> count = free_huge_pages;
> try_to_free_nr_huge_pages(count);
>
> I feel a bit sketchy about the "resv_huge_pages + nr_huge_pages -
> free_huge_pages" logic. Could you elaborate a bit there on what the
> rules are?
The key i
his is a standalone fix suitable for
mainline. It is also now corrected in my latest dynamic pool resizing
patchset which I will send out soon.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
Acked-by: Ken Chen <[EMAIL PROTECTED]>
---
mm/hugetlb.c |8 +++-
1 files changed,
critical area. It's impossible
for other threads/processes to change the page table now.
--
Adam Litke ( agl at us.ibm.com )
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majord
On Fri, 2007-08-24 at 15:53 +0900, Yasunori Goto wrote:
> I found find_next_best_node() was wrong.
> I confirmed boot up by the following patch.
> Mel-san, Kamalesh-san, could you try this?
FYI: This patch also allows the alloc-instantiate-race testcase in
libhugetlbfs to pass again :)
On Mon, 2007-07-30 at 15:15 +0800, Zhang, Yanmin wrote:
> On Fri, 2007-07-27 at 11:37 -0500, Adam Litke wrote:
> > Hey... I am amazed at how quickly you came back with a patch for this :)
> > Thanks for looking at it. Unfortunately there is one show-stopper and I
> > have s
misinformation, could a few of you
experts take a quick look at the three diagrams I've got finished so far
and point out any errors I have made? Thanks.
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-kern
duplicated logic?
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please r
follow_hugetlb_page is involved in a failed fault.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index d7ca59d..de4cf45 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -643,7 +643,7 @@ int follow_hugetlb_page(struct mm_struct *mm, struct
vm_area_
On Wed, 2007-10-24 at 18:23 +0200, Adrian Bunk wrote:
> return_unused_surplus_pages() can become static.
>
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
Acked-by: Adam Litke <[EMAIL PROTECTED]>
>
> ---
> 8932fe99341629d50863643229d25666e9f44e03
> diff --
calls get_user_pages() with write set will not expect COW faults to
occur on the returned pages.
This patch passes the write flag down to follow_hugetlb_page() and makes
sure hugetlb_fault() is called with the right write_access parameter.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
i
When expanding the stack, we don't currently check if the VMA will cross into
an area of the address space that is reserved for hugetlb pages. Subsequent
faults on the expanded portion of such a VMA will confuse the low-level MMU
code, resulting in an OOPS. Check for this.
Signed-off-by:
t+0x34/0x94
[C00779BB3DC0] [C0014A20] .compat_sys_ipc+0x18c/0x1e8
[C00779BB3E30] [C000872C] syscall_exit+0x0/0x40
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a
r the introduction of a
SHMEM_HUGETLB flag.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
include/linux/shmem_fs.h |4
mm/shmem.c |4
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h
index f3c5189..3ea
The page tables for hugetlb mappings are handled differently than page tables
for normal pages. Rather than integrating multiple page size support into the
main VM (which would tremendously complicate the code) some hooks were created.
This allows hugetlb special cases to be handled "out of line"
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
include/linux/mm.h | 25 +
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 2d2c08d..a2fa66d 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |6 ++
mm/memory.c |4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 4f4cd13..c0a7984 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/memory.c |6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index c0a7984..2d1dd84 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c|3 ++-
include/linux/hugetlb.h |4 ++--
mm/hugetlb.c| 12
mm/memory.c | 10 --
4 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/fs/hug
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/hugetlb.c |4 +++-
mm/memory.c |4 ++--
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 3461f9b..1de73c1 100644
--
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/mprotect.c|5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 146a4b7..1016694 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/memory.c |6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 1016694..3461f9b 100644
--- a/fs/hugetlbfs/inode.c
++
On Mon, 2007-02-19 at 19:41 +0100, Arjan van de Ven wrote:
> On Mon, 2007-02-19 at 10:31 -0800, Adam Litke wrote:
> > Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
> > ---
> >
> > include/linux/mm.h | 25 +
> > 1 files
On Mon, 2007-02-19 at 19:43 +0100, Arjan van de Ven wrote:
> On Mon, 2007-02-19 at 10:31 -0800, Adam Litke wrote:
> > The page tables for hugetlb mappings are handled differently than page
> > tables
> > for normal pages. Rather than integrating multiple page size support i
When expanding the stack, we don't currently check if the VMA will cross into
an area of the address space that is reserved for hugetlb pages. Subsequent
faults on the expanded portion of such a VMA will confuse the low-level MMU
code, resulting in an OOPS. Check for this.
Signed-off-by:
27;t tested hugetlbfs yet.)
> > > run with "numactl --interleave=all ./shmtest"
> >
> > This was not intentional. I'll search for where it broke.
>
> ok i've narrowed it some... maybe.
Thanks a lot for the detailed information. I am on it.
--
Adam L
On 6/8/07, Eric W. Biederman <[EMAIL PROTECTED]> wrote:
-struct file *hugetlb_zero_setup(size_t size)
+struct file *hugetlb_file_setup(const char *name, size_t size)
The bulk of this patch seems to handle renaming this function. Is
that really necessary?
--
Adam Litke ( agl at us.i
s patch modifies the shm_get_policy() wrapper to maintain steps 1-3 for the
wrapped vm_ops. Andi and Christoph, does this look right to you?
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
diff --git a/ipc/shm.c b/ipc/shm.c
index 4fefbad..8d2672d 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -254,8 +
On 6/12/07, Eric W. Biederman <[EMAIL PROTECTED]> wrote:
Adam Litke <[EMAIL PROTECTED]> writes:
> Here's another breakage as a result of shared memory stacked files :(
>
> The NUMA policy for a VMA is determined by checking the following (in the
order
> given):
&
On 7/13/07, Akinobu Mita <[EMAIL PROTECTED]> wrote:
Use appropriate accessor function to set compound page destructor
function.
Cc: William Irwin <[EMAIL PROTECTED]>
Signed-off-by: Akinobu Mita <[EMAIL PROTECTED]>
Acked-by: Adam Litke <[EMAIL PROTECTED]>
--
Adam L
- from != page_cache_size(file->f_mapping)) {
Where do you introduce page_cache_size()? Is this added by a
different set of patches I should have applied first?
--
Adam Litke ( agl at us.ibm.com )
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-
Andrew, given the favorable review of these patches the last time around, would
you consider them for the -mm tree? Does anyone else have any objections?
The page tables for hugetlb mappings are handled differently than page tables
for normal pages. Rather than integrating multiple page size su
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
include/linux/mm.h | 25 +
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 60e0e4a..7089323 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |6 ++
mm/memory.c |4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 8c718a3..2452dde 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/memory.c |6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 2452dde..d0b4b46 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/mprotect.c|5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 198efa7..3de5d93 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c|3 ++-
include/linux/hugetlb.h |4 ++--
mm/hugetlb.c| 12
mm/memory.c | 10 --
4 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/fs/hug
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/memory.c |6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 3de5d93..823a9e3 100644
--- a/fs/hugetlbfs/inode.c
++
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
fs/hugetlbfs/inode.c |1 +
mm/hugetlb.c |4 +++-
mm/memory.c |4 ++--
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 823a9e3..29e65c2 100644
--
On Tue, 2007-03-20 at 16:24 -0700, Dave Hansen wrote:
> On Mon, 2007-03-19 at 13:05 -0700, Adam Litke wrote:
> >
> > +#define has_pt_op(vma, op) \
> > + ((vma)->pagetable_ops && (vma)->pagetable_ops->op)
> > +#define pt_op(vma, call) \
> >
On Wed, 2007-03-21 at 15:18 +1100, Nick Piggin wrote:
> Adam Litke wrote:
> > Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
> > ---
> >
> > include/linux/mm.h | 25 +
> > 1 files changed, 25 insertions(+), 0 deletions(-)
>
stacked files stuff was
not quite complete.
Acked-by: Adam Litke <[EMAIL PROTECTED]>
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordom
tlb.c separation, etc). So it is unlikely to apply to any trees
you may have. I do think it makes a useful illustration of what
legitimate things can be done with a pagetable_operations interface.
commit be72df1c616fb662693a8d4410ce3058f20c71f3
Author: Adam Litke <[EMAIL PROTECTED]>
Date:
On Wed, 2007-03-21 at 15:51 -0400, [EMAIL PROTECTED] wrote:
> On Wed, 21 Mar 2007 14:43:48 CDT, Adam Litke said:
> > The main reason I am advocating a set of pagetable_operations is to
> > enable the development of a new hugetlb interface.
>
> Do you have an exit strategy fo
mplementation of the interfaces
as opposed to stacking them. Keeping them separate removes the need for
if ((vm_flags & VM_HUGETLB) && (is_hugetlbfs_chardev())) checking.
--
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center
-
To unsubscribe from this list: send the li
ase Apply.
Signed-off-by: Adam Litke <[EMAIL PROTECTED]>
---
include/linux/hugetlb.h |8 +++-
include/linux/shm.h |5 +
ipc/shm.c | 32 ++--
3 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/include/linux/huge
On Thu, 2007-03-01 at 16:08 -0800, Bill Irwin wrote:
> On Wed, Feb 28, 2007 at 02:13:29PM -0600, Adam Litke wrote:
> > Hey. While testing 2.6.21-rc2 with libhugetlbfs, the shm-fork test case
> > causes the kernel to oops. To reproduce: Execute 'make check' in the
>
On Wed, 2007-03-07 at 16:03 -0700, Eric W. Biederman wrote:
> Bill Irwin <[EMAIL PROTECTED]> writes:
>
> > On Thu, Mar 01, 2007 at 03:46:08PM -0800, Adam Litke wrote:
> >> static inline int is_file_hugepages(struct file *file)
> >> {
> >> - re
73 matches
Mail list logo