linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* specjbb2005 fails with 2.6.29-rc4
@ 2009-02-12  1:16 Lin Ming
  2009-02-12  1:20 ` Lin Ming
  2009-02-12  1:35 ` Linus Torvalds
  0 siblings, 2 replies; 5+ messages in thread
From: Lin Ming @ 2009-02-12  1:16 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, Zhang, Yanmin

specjbb2005 fails with 2.6.29-rc4 in many testing machines.

On a 4*4cores Tigerton machine, run specjb2005 with
starting_number_warehouses = 1 and ending_number_warehouses = 34.
It fails when warehouses=16.

Test with Jrockit VM fails. And it works well if OpenJDK is used
instead.

commit fc8744adc870a8d4366908221508bb113d8b72ee
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Jan 31 15:08:56 2009 -0800

    Stop playing silly games with the VM_ACCOUNT flag
    
    The mmap_region() code would temporarily set the VM_ACCOUNT flag for
    anonymous shared mappings just to inform shmem_zero_setup() that it
    should enable accounting for the resulting shm object.  It would then
    clear the flag after calling ->mmap (for the /dev/zero case) or doing
    shmem_zero_setup() (for the MAP_ANON case).
    
    This just resulted in vma merge issues, but also made for just
    unnecessary confusion.  Use the already-existing VM_NORESERVE flag for
    this instead, and let shmem_{zero|file}_setup() just figure it out from
    that.
    
    This also happens to make it obvious that the new DRI2 GEM layer uses a
    non-reserving backing store for its object allocation - which is quite
    possibly not intentional.  But since I didn't want to change semantics
    in this patch, I left it alone, and just updated the caller to use the
    new flag semantics.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
 drivers/gpu/drm/drm_gem.c |    2 +-
 ipc/shm.c                 |    4 +-
 mm/mmap.c                 |   48 +++++++++++++++++++++++---------------------
 mm/shmem.c                |    2 +-
 4 files changed, 29 insertions(+), 27 deletions(-)



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: specjbb2005 fails with 2.6.29-rc4
  2009-02-12  1:16 specjbb2005 fails with 2.6.29-rc4 Lin Ming
@ 2009-02-12  1:20 ` Lin Ming
  2009-02-12  1:28   ` Zhang, Yanmin
  2009-02-12  1:35 ` Linus Torvalds
  1 sibling, 1 reply; 5+ messages in thread
From: Lin Ming @ 2009-02-12  1:20 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, Zhang, Yanmin

On Thu, 2009-02-12 at 09:16 +0800, Lin Ming wrote:
> specjbb2005 fails with 2.6.29-rc4 in many testing machines.
> 
> On a 4*4cores Tigerton machine, run specjb2005 with
> starting_number_warehouses = 1 and ending_number_warehouses = 34.
> It fails when warehouses=16.
> 
> Test with Jrockit VM fails. And it works well if OpenJDK is used
> instead.

Bisect locates below commit.

> 
> commit fc8744adc870a8d4366908221508bb113d8b72ee
> Author: Linus Torvalds <torvalds@linux-foundation.org>
> Date:   Sat Jan 31 15:08:56 2009 -0800
> 
>     Stop playing silly games with the VM_ACCOUNT flag
>     
>     The mmap_region() code would temporarily set the VM_ACCOUNT flag for
>     anonymous shared mappings just to inform shmem_zero_setup() that it
>     should enable accounting for the resulting shm object.  It would then
>     clear the flag after calling ->mmap (for the /dev/zero case) or doing
>     shmem_zero_setup() (for the MAP_ANON case).
>     
>     This just resulted in vma merge issues, but also made for just
>     unnecessary confusion.  Use the already-existing VM_NORESERVE flag for
>     this instead, and let shmem_{zero|file}_setup() just figure it out from
>     that.
>     
>     This also happens to make it obvious that the new DRI2 GEM layer uses a
>     non-reserving backing store for its object allocation - which is quite
>     possibly not intentional.  But since I didn't want to change semantics
>     in this patch, I left it alone, and just updated the caller to use the
>     new flag semantics.
>     
>     Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> ---
>  drivers/gpu/drm/drm_gem.c |    2 +-
>  ipc/shm.c                 |    4 +-
>  mm/mmap.c                 |   48 +++++++++++++++++++++++---------------------
>  mm/shmem.c                |    2 +-
>  4 files changed, 29 insertions(+), 27 deletions(-)
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: specjbb2005 fails with 2.6.29-rc4
  2009-02-12  1:20 ` Lin Ming
@ 2009-02-12  1:28   ` Zhang, Yanmin
  0 siblings, 0 replies; 5+ messages in thread
From: Zhang, Yanmin @ 2009-02-12  1:28 UTC (permalink / raw)
  To: Lin Ming; +Cc: torvalds, linux-kernel

On Thu, 2009-02-12 at 09:20 +0800, Lin Ming wrote:
> On Thu, 2009-02-12 at 09:16 +0800, Lin Ming wrote:
> > specjbb2005 fails with 2.6.29-rc4 in many testing machines.
> > 
> > On a 4*4cores Tigerton machine, run specjb2005 with
> > starting_number_warehouses = 1 and ending_number_warehouses = 34.
> > It fails when warehouses=16.
> > 
> > Test with Jrockit VM fails. And it works well if OpenJDK is used
> > instead.
One difference between Jrockit and OpenJDK is Jrokit uses huge pages.

> 
> Bisect locates below commit.
> 
> > 
> > commit fc8744adc870a8d4366908221508bb113d8b72ee
> > Author: Linus Torvalds <torvalds@linux-foundation.org>
> > Date:   Sat Jan 31 15:08:56 2009 -0800
> > 
> >     Stop playing silly games with the VM_ACCOUNT flag
> >     
> >     The mmap_region() code would temporarily set the VM_ACCOUNT flag for
> >     anonymous shared mappings just to inform shmem_zero_setup() that it
> >     should enable accounting for the resulting shm object.  It would then
> >     clear the flag after calling ->mmap (for the /dev/zero case) or doing
> >     shmem_zero_setup() (for the MAP_ANON case).
> >     
> >     This just resulted in vma merge issues, but also made for just
> >     unnecessary confusion.  Use the already-existing VM_NORESERVE flag for
> >     this instead, and let shmem_{zero|file}_setup() just figure it out from
> >     that.
> >     
> >     This also happens to make it obvious that the new DRI2 GEM layer uses a
> >     non-reserving backing store for its object allocation - which is quite
> >     possibly not intentional.  But since I didn't want to change semantics
> >     in this patch, I left it alone, and just updated the caller to use the
> >     new flag semantics.
> >     
> >     Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> > ---
> >  drivers/gpu/drm/drm_gem.c |    2 +-
> >  ipc/shm.c                 |    4 +-
> >  mm/mmap.c                 |   48 +++++++++++++++++++++++---------------------
> >  mm/shmem.c                |    2 +-
> >  4 files changed, 29 insertions(+), 27 deletions(-)
> > 
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: specjbb2005 fails with 2.6.29-rc4
  2009-02-12  1:16 specjbb2005 fails with 2.6.29-rc4 Lin Ming
  2009-02-12  1:20 ` Lin Ming
@ 2009-02-12  1:35 ` Linus Torvalds
  2009-02-12  3:23   ` Lin Ming
  1 sibling, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2009-02-12  1:35 UTC (permalink / raw)
  To: Lin Ming; +Cc: linux-kernel, Zhang, Yanmin, Mel Gorman



On Thu, 12 Feb 2009, Lin Ming wrote:
> 
> Test with Jrockit VM fails. And it works well if OpenJDK is used
> instead.

I suspect maybe it uses hugetlbs?

There were a couple of commits to fix VM_ACCOUNT for hugepage areas 
recently. See

 - 5a6fe125950676015f5108fb71b2a67441755003: "Do not account for the 
   address space used by hugetlbfs using VM_ACCOUNT"

 - 17c9d12e126cb0de8d535dc1908c4819d712bc68: "Do not account for hugetlbfs 
   quota at mmap() time if mapping [SHM|MAP]_NORESERVE"

because hugetlb mappings have their own magical VM accounting.

So can you check if current -git fixes it?

		Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: specjbb2005 fails with 2.6.29-rc4
  2009-02-12  1:35 ` Linus Torvalds
@ 2009-02-12  3:23   ` Lin Ming
  0 siblings, 0 replies; 5+ messages in thread
From: Lin Ming @ 2009-02-12  3:23 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, Zhang, Yanmin, Mel Gorman

On Thu, 2009-02-12 at 09:35 +0800, Linus Torvalds wrote:
> 
> On Thu, 12 Feb 2009, Lin Ming wrote:
> > 
> > Test with Jrockit VM fails. And it works well if OpenJDK is used
> > instead.
> 
> I suspect maybe it uses hugetlbs?
> 
> There were a couple of commits to fix VM_ACCOUNT for hugepage areas 
> recently. See
> 
>  - 5a6fe125950676015f5108fb71b2a67441755003: "Do not account for the 
>    address space used by hugetlbfs using VM_ACCOUNT"
> 
>  - 17c9d12e126cb0de8d535dc1908c4819d712bc68: "Do not account for hugetlbfs 
>    quota at mmap() time if mapping [SHM|MAP]_NORESERVE"
> 
> because hugetlb mappings have their own magical VM accounting.
> 
> So can you check if current -git fixes it?

Yes, current -git fixes it.

Lin Ming


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-02-12  3:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-12  1:16 specjbb2005 fails with 2.6.29-rc4 Lin Ming
2009-02-12  1:20 ` Lin Ming
2009-02-12  1:28   ` Zhang, Yanmin
2009-02-12  1:35 ` Linus Torvalds
2009-02-12  3:23   ` Lin Ming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).