You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
(8) |
2
(2) |
3
(1) |
4
(2) |
|
5
(1) |
6
(4) |
7
(6) |
8
(5) |
9
(3) |
10
(5) |
11
(1) |
|
12
(6) |
13
(4) |
14
(1) |
15
(4) |
16
(1) |
17
|
18
|
|
19
|
20
|
21
(2) |
22
(28) |
23
(17) |
24
(6) |
25
(4) |
|
26
(2) |
27
(2) |
28
|
29
(5) |
30
(8) |
31
(14) |
|
|
From: <sv...@va...> - 2015-07-29 19:02:23
|
Author: florian
Date: Wed Jul 29 20:02:11 2015
New Revision: 15457
Log:
Simplify ML_(am_clientise) taking advantage of the fact, that
the address interval is supposed to be located in a single segment.
Modified:
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c Wed Jul 29 20:02:11 2015
@@ -1938,7 +1938,6 @@
segment (anon or file). Change the ownership of [start, start+len)
to the client instead. Fails if (start,len) does not denote a
suitable segment. */
-
Bool VG_(am_change_ownership_v_to_c)( Addr start, SizeT len )
{
if (len == 0)
@@ -1948,17 +1947,7 @@
if (!VG_IS_PAGE_ALIGNED(start) || !VG_IS_PAGE_ALIGNED(len))
return False;
- const NSegment *seg = ML_(am_find_segment)(start);
- if (seg->kind != SkFileV && seg->kind != SkAnonV)
- return False;
- if (start+len-1 > seg->end)
- return False;
-
- aspacem_assert(start >= seg->start);
- aspacem_assert(start+len-1 <= seg->end);
-
- ML_(am_clientise)( start, len );
- return True;
+ return ML_(am_clientise)( start, len );
}
/* Set the 'hasT' bit on the segment containing ADDR indicating that
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c Wed Jul 29 20:02:11 2015
@@ -1354,24 +1354,32 @@
if (expensive_checking) check_tree(root_segment());
}
-/* Change ownership of valgrind address space [addr:addr+len-1] to client. */
-void ML_(am_clientise)( Addr start, SizeT len )
+/* Change ownership of valgrind address space [addr:addr+len-1] to client.
+ The address range is supposed to be located in a single segment. If that
+ is not so, return False. */
+Bool ML_(am_clientise)( Addr start, SizeT len )
{
- NSegment *segLo, *segHi;
+ const NSegment *seg = ML_(am_find_segment)(start);
- split_segments_lo_and_hi( start, start + len - 1, &segLo, &segHi );
- aspacem_assert(segLo == segHi);
+ if (seg->kind != SkFileV && seg->kind != SkAnonV)
+ return False;
+ if (start + len - 1 > seg->end)
+ return False;
- switch (segLo->kind) {
- case SkFileV: segLo->kind = SkFileC; break;
- case SkAnonV: segLo->kind = SkAnonC; break;
+ /* OK. SEG is a segment of the appropriate kind. Set up a template
+ segment with the corresponding client kind and insert that. Function
+ ML_(am_add_segment) will take care of everything. */
+ NSegment tmp = *seg;
+
+ switch (seg->kind) {
+ case SkFileV: tmp.kind = SkFileC; break;
+ case SkAnonV: tmp.kind = SkAnonC; break;
default: aspacem_assert(0); /* can't happen - guarded above */
}
- /* Changing permissions could have made previously un-mergable
- segments mergeable. Therefore have to re-preen them. */
- // preen_segments();
- if (expensive_checking) check_tree(root_segment());
+ ML_(am_add_segment)(&tmp);
+
+ return True;
}
/*--------------------------------------------------------------------*/
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h Wed Jul 29 20:02:11 2015
@@ -161,7 +161,7 @@
void ML_(am_add_segment)( const NSegment *seg );
void ML_(am_show_segment_full)( Int logLevel, Int segNo, const NSegment *seg );
void ML_(am_change_permissions)( Addr start, SizeT len, UInt prot );
-void ML_(am_clientise)( Addr start, SizeT len );
+Bool ML_(am_clientise)( Addr start, SizeT len );
void ML_(am_init_segment)( /*OUT*/NSegment *seg, SegKind kind, Addr start,
Addr end);
NSegment *ML_(am_next_segment)( const NSegment *seg );
|
|
From: Christopher K. <chr...@gm...> - 2015-07-29 17:58:49
|
To get the code running on the Intel Fortran 15.0.1 compiler on an Intel-Ivy-Bridge processor, the code has to be compiled with the -msse4.1 option as running with the -xAVX compiled option causes the code to exit with an ILLEGAL instruction. You might want to put into the Cachegrind user manual. I also have a question, Cachegrind gives the following line-by-line information: ILmr DLmr DLmw 528 0 209,680 Qtens_biharmonic(:,:,k,q,ie) = elem(ie)%state%Qdp(:,:,k,q,n0_qdp) Can I interpret this result as saying that there were NO last-level data cache read misses (DLmr) and that the data was in the last-level data cache and all of the memory traffic was the result of the write back (DLmw) of the data to memory? Typically a write-back operation is NOT expensive as it an be be put into the write-back buffer and performed at a later stage. Yet the code is spending a significant amount of time on this statement. Am I missing something? Thanks Chris -- Christopher Kerr Visiting Scientist Graduate School of Oceanography University of Rhode Island 215 South Ferry Road Narragansett, RI 02882-1197, USA chr...@gm... <chr...@no...> 401-874-6174 (work) Skype-Handle: chris.kerr.usa |
|
From: <sv...@va...> - 2015-07-29 14:35:13
|
Author: florian
Date: Wed Jul 29 15:35:01 2015
New Revision: 15456
Log:
Naughty! When checking the cache in find_segment_WRK make sure
the segment ist not on the freelist.
Modified:
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c Wed Jul 29 15:35:01 2015
@@ -579,6 +579,7 @@
if ((a >> 12) == cache_pageno[ix]
&& cache_seg[ix] != NULL
+ && cache_seg[ix]->fnIdx != ON_FREELIST
&& is_leaf(cache_seg[ix])
&& cache_seg[ix]->start <= a
&& a <= cache_seg[ix]->end) {
|
|
From: <sv...@va...> - 2015-07-29 14:03:09
|
Author: florian
Date: Wed Jul 29 15:03:00 2015
New Revision: 15455
Log:
Non-functional change; comments mostly.
Modified:
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c Wed Jul 29 15:03:00 2015
@@ -515,8 +515,8 @@
return ML_(am_get_segname)( seg->fnIdx );
}
-/* Binary search the interval array for a given address. Since the
- array covers the entire address space the search cannot fail. The
+/* Binary search the segment tree for a given address. Since the
+ tree covers the entire address space the search cannot fail. The
_WRK function does the real work. Its caller (just below) caches
the results thereof, to save time. With N_CACHE of 63 we get a hit
rate exceeding 90% when running OpenOffice.
@@ -548,6 +548,7 @@
}
}
+/* This function never returns NULL */
NSegment *ML_(am_find_segment)( Addr a )
{
# define N_CACHE 131 /*prime*/
@@ -761,7 +762,6 @@
sLo is the first address denoted by some segment and sHi is the
highest address denoted by some other segment. Returns the indices
of the lowest and highest segments in the range. */
-
static void split_segments_lo_and_hi( Addr sLo, Addr sHi,
/*OUT*/NSegment **segLo,
/*OUT*/NSegment **segHi )
@@ -784,10 +784,6 @@
}
-/* Add SEG to the collection, deleting/truncating any it overlaps.
- This deals with all the tricky cases of splitting up segments as
- needed. */
-
/* Locate the subtree X containing the interval [from:to] such that no
subtree of X contains [from:to]. This function never returns NULL. */
static NSegment *
@@ -1127,7 +1123,7 @@
if (nopost) return subtree; // return values does not matter
#endif
- DEBUG("\nPOST PROCESSING\n");
+ DEBUG("POST PROCESSING\n");
// It cannot be that both children of the subtree are leaves.
// Assume both children L and R are leaves with (L) = [p,x] and
// (R) = [x+1,q]. As L needs to contain a node [from,...] it follows
@@ -1210,6 +1206,9 @@
}
}
+/* Add SEG to the collection, deleting/truncating any it overlaps.
+ This deals with all the tricky cases of splitting up segments as
+ needed. */
void ML_(am_add_segment)( const NSegment *seg )
{
DEBUG("adding segment "INTERVAL_FMT"\n", seg->start, seg->end);
|
|
From: Bart V. A. <bva...@ac...> - 2015-07-29 02:40:10
|
On 07/27/15 08:52, Ivo Raisr wrote: > 2015-07-27 16:58 GMT+02:00 Will Schmidt <wil...@vn... > <mailto:wil...@vn...>>: > > On Sat, 2015-07-25 at 14:18 +1000, Rhys Kidd wrote: > > Not all systems put true in /bin hence there are issues on Darwin > with > > the introduction of this line to configure.ac <http://configure.ac> > > > > + if `LD_SHOW_AUXV=1 /bin/true | grep ^AT_HWCAP | grep -q -w > > ${AUXV_CHECK_FOR}` > > > > > > > > Can you confirm if the below quick hack job continues to work > > selecting the right PPC HW capabilities? > > > For the LD_SHOW_AUXV=1 component to work, we do need to specify a binary > version of true. It will otherwise use the shell built-in which doesn't > trigger the loader (LD_*)... > > Something like the following would be a compromise that should work OK > for power. Would that also be OK for other Darwin and other platforms? > Alternatively, could probably try to wrap the entire thing in a uname > check.. > > TRUE_BIN=`which true` > if `LD_SHOW_AUXV=1 ${TRUE_BIN} | grep ^AT_HWCAP | grep -q -w > ${AUXV_CHECK_FOR}` > > > For Solaris it's ok. > Note that these checks are not used on Solaris/illumos at all. Please have a look at the configure.ac changes in r15452. Bart. |