On 21-Jul-2016 07:17, Julian Seward wrote:
> On 21/07/16 16:09, Julian Seward wrote:
>> 
>>> -   aspacem_maxAddr = (Addr) 0x7fffffffffff;
>>> +   aspacem_maxAddr = (Addr) 0x4000000000 - 1; // 256G
>> 
>> Are you sure this frag is right?  It seems to have drastically
>> reduced aspacem_maxAddr.  It may be that this is a constant
>> that shouldn't change.
> 
> Yeah, that's not right.  aspacem_maxAddr needs to increase, not
> decrease.  The one-step transformation is shown by
> 
> svn diff -c13278 svn://svn.valgrind.org/valgrind/trunk
> 
> so just do that twice and you should get what you want.

Makes perfect sense EXCEPT that the patched 3.9.0 version which does 
work for large amounts of memory has:

  diff aspacemgr-linux.c.orig.20160720132943 aspacemgr-linux.c
271c271
< # define VG_N_SEGMENTS 5000
---
> # define VG_N_SEGMENTS 500000
273c273
< # define VG_N_SEGMENTS 30000
---
> # define VG_N_SEGMENTS 500000
1636c1636
<    aspacem_maxAddr = (Addr) 0xffffffff;
---
>    aspacem_maxAddr = (Addr) 0x4000000000ULL - 1; /* 256 GB */
1642c1642
<    aspacem_maxAddr = (Addr) 0x7fffffffffff;
---
>    aspacem_maxAddr = (Addr) 0x4000000000ULL - 1; /* 256 GB */
1663c1663
<      aspacem_maxAddr = (Addr)0x1000000000ULL - 1; // 64G
---
>      aspacem_maxAddr = (Addr) 0x4000000000ULL - 1; /* 256 GB */

Some of those are in 32 bit sections, some in 64 bit, and I don't 
understand
how a 32 bit machine could access 256 GB of memory.  Not that I care in 
this case since only the 64 bit one matters to me, and it does work.

It isn't my code, but I can't help thinking that we wouldn't be 
scratching our heads about how to do this if somewhere up at the top of 
the main include there was:

#define VALGRIND_MAX_USABLE_GBMEM64 256
#define VALGRIND_MAX_USABLE_GBMEM32  31

and all the rest of this was handled automatically!

Regards,

David Mathog
mat...@caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to