diff options
Diffstat (limited to 'PROJECTS')
-rw-r--r-- | PROJECTS | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/PROJECTS b/PROJECTS index ed79e577e9..0f2a8f3eb5 100644 --- a/PROJECTS +++ b/PROJECTS @@ -1,6 +1,6 @@ Open jobs for finishing GNU libc: --------------------------------- -Status: November 1998 +Status: December 1998 If you have time and talent to take over any of the jobs below please contact <bug-glibc@gnu.org>. @@ -102,6 +102,7 @@ contact <bug-glibc@gnu.org>. Blargh! + [16] The libio stream file functions should be extended in a way to use mmap to map the file and use it as the buffer to user sees. For read-only streams this should be rather easy and it avoids all read() @@ -113,24 +114,44 @@ contact <bug-glibc@gnu.org>. to the page size and install the correct length only for fclose() and fflush() calls. + [18] Based on the sprof program we need tools to analyze the output. The result should be a link map which specifies in which order the .o files are placed in the shared object. This should help to improve code locality and result in a smaller foorprint (in code and data memory) since less pages are only used in small parts. + [19] A user-level STREAMS implementation should be available if the kernel does not provide the support. + [20] More conversion modules for iconv(3). Existing modules should be extended to do things like transliteration if this is wanted. For often used conversion a direct conversion function should be available. + [21] The nscd program and the stubs in the libc should be changed so that each program uses only one socket connect. Take a look at http://www.cygnus.com/~drepper/nscd.html + An alternative approach is to use an mmap()ed file. The idea is + the following: + - the nscd creates the hash tables and the information it stores + in it in a mmap()ed region. This means no pointers must be + used, only offsets. + - each program using NSS functionality tries to open the file + with the data. + - by checking some timestamp (which the nscd renew frequently) + the programs can test whether the file is still valid + - if the file is valid look through the nscd and locate the + appropriate hash table for the database and lookup the data. + If it is included we are set. + - if the data is not yet in the database we contact the nscd using + the currently implemented methods. + + [22] It should be possible to have the information gconv-modules in a simple database which is faster to access. Using libdb is probably overkill and loading it would probably be slower than reading the @@ -140,7 +161,7 @@ contact <bug-glibc@gnu.org>. should start similar to this: if (stat ("gconv-modules", &stp) == 0 - && stat ("gconv-modules.db", %std) == 0 + && stat ("gconv-modules.db", &std) == 0 && stp.st_mtime < std.st_mtime) { ... use the database ... @@ -150,6 +171,7 @@ contact <bug-glibc@gnu.org>. ... use the plain file if it exists, otherwise the db ... } + [23] The `strptime' function needs to be completed. This includes among other things that it must get teached about timezones. The solution envisioned is to extract the timezones from the ADO timezone @@ -160,5 +182,13 @@ contact <bug-glibc@gnu.org>. Standard Time' if the current TZ variable is set to, say, Australia/Canberra or if the current locale is en_AU. -[24] Allow add-ons to specify dependencies and generate the content of - `all-subdirs' in Makeconfig dynamically. + +[25] Sun's nscd version implements a feature where the nscd keeps N entries + for each database current. I.e., if an entries lifespan is over and + it is one of the N entries to be kept the nscd updates the information + instead of removing the entry. + + How to decide about which N entries to keep has to be examined. + Factors should be number of uses (of course), influenced by aging. + Just imagine a computer used by several people. The IDs of the current + user should be preferred even if the last user spent more time. |