bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 1 | Last updated May 30, 2009. |
| 2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
sewardj | af44c82 | 2007-11-25 14:01:38 +0000 | [diff] [blame] | 3 | |
| 4 | |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 5 | The DRD tool |
| 6 | ~~~~~~~~~~~~ |
| 7 | - Eliminate Valgrind's thread ID's from DRD's output, and only keep the |
| 8 | DrdThreadId. |
| 9 | - Add support for Ist_CAS once the DCAS branch has been merged to the trunk. |
bart | df5a1e2 | 2009-06-03 08:11:02 +0000 | [diff] [blame^] | 10 | - Update the description of DRD in docs/xml/manual-intro.xml before 3.4.2 or |
| 11 | 3.5.0 is released, whichever is released first. |
| 12 | - Update the DRD manual before 3.5.0 is released. |
bart | aae367c | 2008-04-19 15:17:08 +0000 | [diff] [blame] | 13 | - Add locking order checking. Start from the following information: |
| 14 | * http://sourceforge.net/mailarchive/message.php?msg_id=alpine.LNX.1.10.0803270822080.17890%40mudge.stoecker.eu |
| 15 | * http://lwn.net/Articles/185605/ |
| 16 | * http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/lockdep-design.txt;h=488773018152056ea159685e732e42452a7ae142;hb=HEAD |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 17 | - Make sure tc14_laog_dinphils is run during drd regression tests |
bart | 906ef12 | 2008-05-25 18:11:32 +0000 | [diff] [blame] | 18 | (only possible after locking order checking is implemented). |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 19 | - Evaluate whether integration of drd with one of the available Valgrind GUI's |
| 20 | makes sense (http://valgrind.org/downloads/guis.html). |
bart | 0e3a0be | 2008-07-03 16:23:17 +0000 | [diff] [blame] | 21 | - Find out why no variable name information is printed for races |
| 22 | detected in parallel sections of OpenMP programs. An example: |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 23 | ./vg-in-place --tool=drd drd/tests/omp_prime 4 -t 2 |
| 24 | - Improve the code for suppressing races reported on glibc FILE objects, e.g. by |
| 25 | intercepting all operations on FILE objects and by associating mutex semantics |
| 26 | with FILE objects. Verify that races on unsynchronized *_unlocked() operations |
| 27 | are reported. Remove FILE-I/O suppression patterns from glibc-2.X-drd.supp. |
| 28 | See also http://www.unix.org/whitepapers/reentrant.html. |
| 29 | - Find out why DRD reports an error on the POSIX implementation of libgomp.so. |
bart | 3bdf125 | 2008-03-23 14:32:21 +0000 | [diff] [blame] | 30 | |
sewardj | af44c82 | 2007-11-25 14:01:38 +0000 | [diff] [blame] | 31 | |
| 32 | Testing |
| 33 | ~~~~~~~ |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 34 | - Measure the performance and the memory overhead of drd on the PARSEC |
bart | e4da24f | 2008-06-17 14:19:04 +0000 | [diff] [blame] | 35 | benchmark (http://parsec.cs.princeton.edu/license.htm). |
| 36 | - Test with Synfig Studio (see also http://bugs.kde.org/show_bug.cgi?id=158555) |
| 37 | - Test with a multithreaded Python application. |
sewardj | af44c82 | 2007-11-25 14:01:38 +0000 | [diff] [blame] | 38 | |
| 39 | |
| 40 | Documentation |
| 41 | ~~~~~~~~~~~~~ |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 42 | - Document the features added after the 3.4.0 release. |
| 43 | - Document the algorithms used in drd. |
bart | 7f912c0 | 2008-07-07 08:45:55 +0000 | [diff] [blame] | 44 | - Add comment on double checked locking. |
bart | d45d995 | 2009-05-31 18:53:54 +0000 | [diff] [blame] | 45 | - Add comment on lockless algorithms in general and circular buffers in |
| 46 | particular. |
bart | fbccd7f | 2008-05-10 13:00:27 +0000 | [diff] [blame] | 47 | - Explain how to handle transactions (with regard to locking order). |