The NetBSD Project

CVS log for src/lib/libc/cdb/cdbw.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libc / cdb

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.9 / (download) - annotate - [select for diffs], Tue Aug 8 10:34:08 2023 UTC (7 months, 2 weeks ago) by riastradh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.2 (colored)

cdbw(3): Make cdbw_output descr parameter type less confusing.

This is a string of _up to_ 16 bytes, used with strncpy(..., 16).
Specifying `const char descr[16]', while formally equivalent to
`const char *descr' in standard C, now provokes the ire of gcc when
the caller does not provide a buffer of at least 16 bytes.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Apr 19 20:32:14 2022 UTC (23 months, 1 week ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored) to selected 1.2 (colored)

lib: remove CONSTCOND comment

Since 2021-01-31, lint doesn't need it anymore for the common pattern of
'do ... while (0)'.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jan 7 14:41:50 2021 UTC (3 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.6: +163 -88 lines
Diff to previous 1.6 (colored) to selected 1.2 (colored)

Optimize CPU and memory use of cdbw(3)

Reduce memory footprint and processing time by dropping the vertex parts
of the edges kept during the peeling. Hook up the
division-by-multiplication logic to help older platforms.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Nov 11 18:05:31 2017 UTC (6 years, 4 months ago) by alnsn
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, is-mlppp-base, is-mlppp
Changes since 1.5: +71 -102 lines
Diff to previous 1.5 (colored) to selected 1.2 (colored)

Use a more efficient data structure for graph peeling.

New code is about 50% faster on amd64 and it consumes less memory.

Revision 1.1.6.1 / (download) - annotate - [select for diffs], Tue Oct 30 18:58:42 2012 UTC (11 years, 4 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.1: +27 -3 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Wed Jul 25 20:50:44 2012 UTC (11 years, 8 months ago) by jdc
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.1.8.1: +9 -2 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Pull up revision 1.5 (requested by joerg in ticket #436).

Redo hashing, if two of the three individual hashes result in identical
hash modules. This is the trivial case for loops in the 3-graph and got
lost when adopting the nbperf code.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Jul 21 22:49:37 2012 UTC (11 years, 8 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Changes since 1.4: +9 -2 lines
Diff to previous 1.4 (colored) to selected 1.2 (colored)

Redo hashing, if two of the three individual hashes result in identical
hash modules. This is the trivial case for loops in the 3-graph and got
lost when adopting the nbperf code.

Revision 1.1.8.1 / (download) - annotate - [select for diffs], Sat Jun 23 22:54:58 2012 UTC (11 years, 9 months ago) by riz
Branch: netbsd-6
Changes since 1.1: +18 -1 lines
Diff to previous 1.1 (colored) to selected 1.2 (colored)

Pull up following revision(s) (requested by joerg in ticket #328):
	lib/libc/gen/devname.c: revision 1.22
	distrib/sparc64/instfs/dot.profile: revision 1.7
	distrib/i386/cdroms/install.sh: revision 1.3
	tests/lib/libcurses/director/director.c: revision 1.10
	lib/libc/include/reentrant.h: revision 1.15
	distrib/amd64/cdroms/install.sh: revision 1.3
	tests/include/t_paths.c: revision 1.12
	share/man/man7/hier.7: revision 1.101
	etc/rc.d/sysdb: revision 1.24
	include/stdlib.h: revision 1.99
	tests/lib/libcurses/Makefile: revision 1.3
	distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
	distrib/i386/cdroms/Makefile.cdrom: revision 1.27
	lib/libc/gen/ttyname.c: revision 1.25
	usr.bin/tic/Makefile: revision 1.2
	tools/compat/Makefile: revision 1.57
	lib/libterminfo/compile.c: revision 1.7
	lib/libc/gen/ttyname.c: revision 1.26
	lib/libterminfo/compile.c: revision 1.8
	tools/compat/Makefile: revision 1.59
	tools/compat/cdbw.h: revision 1.1
	distrib/i386/installimage/install.sh: revision 1.2
	lib/libc/include/namespace.h: revision 1.154
	usr.bin/tic/tic.c: revision 1.13
	usr.bin/tic/tic.c: revision 1.14
	usr.bin/tic/tic.c: revision 1.15
	distrib/sets/lists/base/mi: revision 1.996
	usr.bin/tic/tic.c: revision 1.16
	usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
	usr.bin/tic/tic.c: revision 1.17
	usr.bin/tic/tic.c: revision 1.18
	tools/compat/cdbr.h: revision 1.1
	distrib/sparc64/instfs/list: revision 1.25
	usr.bin/tic/tic.c: revision 1.19
	lib/libc/cdb/cdbw.c: revision 1.4
	lib/libc/cdb/cdbw.3: revision 1.4
	lib/libc/cdb/cdbw.3: revision 1.5
	share/terminfo/Makefile: revision 1.3
	usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
	usr.sbin/dev_mkdb/Makefile: revision 1.8
	lib/libc/gen/ttyname.3: revision 1.23
	lib/libc/gen/ttyname.3: revision 1.24
	lib/libc/cdb/cdbr.c: revision 1.3
	include/cdbw.h: revision 1.2
	distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
	lib/libc/gen/devname.3: revision 1.12
	tools/compat/compat_defs.h: revision 1.85
	tools/compat/compat_defs.h: revision 1.86
	lib/libterminfo/term_private.h: revision 1.10
	lib/libterminfo/term.c: revision 1.14
	usr.bin/tic/tic.1: revision 1.10
	lib/libterminfo/term.c: revision 1.15
	lib/libterminfo/Makefile.hash: revision 1.5
	lib/libterminfo/term.c: revision 1.16
	distrib/amd64/installimage/install.sh: revision 1.2
	share/man/man5/rc.conf.5: revision 1.152
	distrib/sets/lists/tests/mi: revision 1.472
	distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
	include/paths.h: revision 1.41
	bin/ps/ps.1: revision 1.101
	lib/libterminfo/terminfo.5.in: revision 1.16
	usr.bin/tic/tic.c: revision 1.20
	lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Jun 3 21:02:50 2012 UTC (11 years, 9 months ago) by joerg
Branch: MAIN
Changes since 1.3: +20 -3 lines
Diff to previous 1.3 (colored) to selected 1.2 (colored)

Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 13 21:32:12 2012 UTC (12 years ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4
Changes since 1.2: +10 -20 lines
Diff to previous 1.2 (colored)

Revert bloat.

Revision 1.2 / (download) - annotate - [selected], Tue Mar 13 21:13:31 2012 UTC (12 years ago) by christos
Branch: MAIN
Changes since 1.1: +22 -12 lines
Diff to previous 1.1 (colored)

PR/45989: Martin Husemann: lint invocation does include -w only on i386

- turn lint -w for all the platforms after fixing the lint warnings.
- add _DIAGASSERTS() for casts that would assign values to types that
  would not fit.
- change types, add casts
- change into ansii prototypes
- turn on _DIAGNOSTIC for libc (during current, to be eliminated for release
  builds)

approved by core@

Revision 1.1 / (download) - annotate - [select for diffs], Sun Apr 25 00:54:46 2010 UTC (13 years, 11 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache, netbsd-6
Diff to selected 1.2 (colored)

Add the constant database reader (cdbr(3)) and writer ((cdbw(3)).
They implement a space efficent write-once database with fast access
path. Switch the services(5) database to use cdb. The size of the
database file decreases from 2.1MB disk space to 307KB. Access
performance is about the same if setservent(0) is used and about an
order of magnitude faster otherwise. services_mkdb defaults to the new
format, but can optionally create the old db(3) format as well for
statically linked legacy applications.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>