From 31604a65d1939a64e89b4329157cf6bbaf51bc61 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 5 Dec 1998 09:12:01 +0000 Subject: Update. 1998-12-05 Ulrich Drepper * sysdeps/gnu/bits/utmp.h: Rename struct exit_status to __exit_status. (struct __exit_status): Define members without leading __ only for __USE_GNU. * sysdeps/gnu/bits/utmpx.h (struct __exit_status): Define members without leading __ only for __USE_GNU. --- PROJECTS | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) (limited to 'PROJECTS') 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 . @@ -102,6 +102,7 @@ contact . 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 . 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 . 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 . ... 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 . 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. -- cgit 1.4.1