From 2bfbf4f707415774e17d160e626a5e11ff8d8d61 Mon Sep 17 00:00:00 2001 From: Robb Matzke Date: Wed, 21 Oct 1998 10:14:15 -0500 Subject: [svn-r773] Changes since 19981019 ---------------------- ./src/H5Fistore.c Improved the hash function so it mixes bits better. This results in a few percent improvement in raw data chunk cache efficiency because there are fewer collisions. ./test/chunk.c Added #define's for chunk preemption `w0' value and number of slots in cache. ./src/H5B.c Added some more comments to H5B_insert_helper() and H5B_remove_helper() and also point to some additional documentation. --- src/.distdep | 737 ++++++++++++++++++++++++++++--------------------------- src/H5B.c | 22 +- src/H5Bprivate.h | 6 +- src/H5D.c | 2 +- src/H5Distore.c | 20 +- src/H5Fistore.c | 20 +- src/H5O.c | 10 +- src/H5T.c | 33 ++- test/.distdep | 116 ++++----- test/chunk.c | 20 +- test/overhead.c | 2 +- 11 files changed, 529 insertions(+), 459 deletions(-) diff --git a/src/.distdep b/src/.distdep index 6571d93..1a1db14 100644 --- a/src/.distdep +++ b/src/.distdep @@ -1,34 +1,3 @@ -H5.o: \ - H5.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5ACprivate.h \ - H5ACpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Ipublic.h \ - H5Dpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Iprivate.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Pprivate.h \ - H5Ppublic.h \ - H5Zpublic.h \ - H5Rpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h H5A.o: \ H5A.c \ H5private.h \ @@ -75,62 +44,6 @@ H5AC.o: \ H5Dpublic.h \ H5Eprivate.h \ H5Epublic.h -H5B.o: \ - H5B.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5ACprivate.h \ - H5ACpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Ipublic.h \ - H5Dpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MFprivate.h \ - H5MFpublic.h \ - H5MMprivate.h -H5D.o: \ - H5D.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5ACprivate.h \ - H5ACpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Dprivate.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5HLprivate.h \ - H5HLpublic.h \ - H5MFprivate.h \ - H5MFpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Pprivate.h \ - H5Ppublic.h \ - H5TBprivate.h H5E.o: \ H5E.c \ H5private.h \ @@ -139,39 +52,6 @@ H5E.o: \ H5Iprivate.h \ H5Ipublic.h \ H5Eprivate.h -H5F.o: \ - H5F.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Aprivate.h \ - H5Apublic.h \ - H5Ipublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Dprivate.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Iprivate.h \ - H5ACprivate.h \ - H5ACpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h H5Farray.o: \ H5Farray.c \ H5private.h \ @@ -216,34 +96,6 @@ H5Ffamily.o: \ H5Eprivate.h \ H5Epublic.h \ H5Ipublic.h -H5Fistore.o: \ - H5Fistore.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5Ipublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MFprivate.h \ - H5MFpublic.h H5Flow.o: \ H5Flow.c \ H5private.h \ @@ -257,34 +109,6 @@ H5Flow.o: \ H5Dpublic.h \ H5MMprivate.h \ H5MMpublic.h -H5Fmpio.o: \ - H5Fmpio.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5MMprivate.h \ - H5MMpublic.h H5Fsec2.o: \ H5Fsec2.c \ H5private.h \ @@ -375,39 +199,6 @@ H5Gent.o: \ H5Gpublic.h \ H5Bprivate.h \ H5Bpublic.h -H5Gnode.o: \ - H5Gnode.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5ACprivate.h \ - H5ACpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Ipublic.h \ - H5Dpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Gpkg.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5HLprivate.h \ - H5HLpublic.h \ - H5MFprivate.h \ - H5MFpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h H5Gstab.o: \ H5Gstab.c \ H5private.h \ @@ -497,34 +288,6 @@ H5MM.o: \ H5Eprivate.h \ H5Epublic.h \ H5Ipublic.h -H5O.o: \ - H5O.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5ACprivate.h \ - H5ACpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Ipublic.h \ - H5Dpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MFprivate.h \ - H5MFpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h H5Oattr.o: \ H5Oattr.c \ H5private.h \ @@ -599,18 +362,16 @@ H5Ocont.o: \ H5HGpublic.h \ H5Tprivate.h \ H5Tpublic.h -H5Odtype.o: \ - H5Odtype.c \ +H5Oefl.o: \ + H5Oefl.c \ H5private.h \ H5public.h \ H5config.h \ H5Eprivate.h \ H5Epublic.h \ H5Ipublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ + H5HLprivate.h \ + H5HLpublic.h \ H5Fprivate.h \ H5Fpublic.h \ H5Dpublic.h \ @@ -618,31 +379,10 @@ H5Odtype.o: \ H5MMpublic.h \ H5Oprivate.h \ H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h -H5Oefl.o: \ - H5Oefl.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Ipublic.h \ - H5HLprivate.h \ - H5HLpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ H5HGprivate.h \ H5HGpublic.h \ H5Tprivate.h \ @@ -857,34 +597,6 @@ H5P.o: \ H5Eprivate.h \ H5Epublic.h \ H5MMprivate.h -H5R.o: \ - H5R.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5Dprivate.h \ - H5Dpublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ - H5Zprivate.h \ - H5Zpublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5Rprivate.h H5RA.o: \ H5RA.c \ H5RAprivate.h \ @@ -913,29 +625,6 @@ H5RA.o: \ H5Zpublic.h \ H5Eprivate.h \ H5Epublic.h -H5S.o: \ - H5S.c \ - H5private.h \ - H5public.h \ - H5config.h \ - H5Iprivate.h \ - H5Ipublic.h \ - H5Eprivate.h \ - H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Oprivate.h \ - H5Opublic.h \ - H5Fprivate.h \ - H5Fpublic.h \ - H5Dpublic.h \ - H5Gprivate.h \ - H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h \ - H5HGprivate.h \ - H5HGpublic.h \ - H5Tprivate.h H5Sall.o: \ H5Sall.c \ H5private.h \ @@ -1038,8 +727,8 @@ H5Spoint.o: \ H5Zprivate.h \ H5Zpublic.h \ H5Vprivate.h -H5Sselect.o: \ - H5Sselect.c \ +H5Tbit.o: \ + H5Tbit.c \ H5private.h \ H5public.h \ H5config.h \ @@ -1047,10 +736,74 @@ H5Sselect.o: \ H5Epublic.h \ H5Ipublic.h \ H5Iprivate.h \ + H5Tpkg.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Dpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Gprivate.h +H5Tconv.o: \ + H5Tconv.c \ + H5Iprivate.h \ + H5Ipublic.h \ + H5public.h \ + H5config.h \ + H5private.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5MMprivate.h \ + H5MMpublic.h \ + H5Tpkg.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Dpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h +H5Tinit.o: \ + H5Tinit.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Iprivate.h \ + H5Ipublic.h \ + H5Eprivate.h \ + H5Epublic.h \ H5MMprivate.h \ H5MMpublic.h \ - H5Sprivate.h \ - H5Spublic.h \ + H5Tpkg.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Dpublic.h \ + H5Tprivate.h +H5TB.o: \ + H5TB.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Iprivate.h \ + H5Ipublic.h \ + H5Eprivate.h +H5V.o: \ + H5V.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5Ipublic.h \ + H5Oprivate.h \ + H5Opublic.h \ H5Fprivate.h \ H5Fpublic.h \ H5Dpublic.h \ @@ -1058,24 +811,101 @@ H5Sselect.o: \ H5Gpublic.h \ H5Bprivate.h \ H5Bpublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h +H5Z.o: \ + H5Z.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5Ipublic.h \ + H5MMprivate.h \ + H5MMpublic.h \ H5Oprivate.h \ H5Opublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Dpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ H5HGprivate.h \ H5HGpublic.h \ H5Tprivate.h \ H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ H5Zprivate.h \ H5Zpublic.h -H5T.o: \ - H5T.c \ +H5.o: \ + H5.c \ H5private.h \ H5public.h \ H5config.h \ - H5Dprivate.h \ + H5ACprivate.h \ + H5ACpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Ipublic.h \ + H5Dpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5Iprivate.h \ + H5MMprivate.h \ + H5MMpublic.h \ + H5Pprivate.h \ + H5Ppublic.h \ + H5Zpublic.h \ + H5Rpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h +H5B.o: \ + H5B.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5ACprivate.h \ + H5ACpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Ipublic.h \ H5Dpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5MFprivate.h \ + H5MFpublic.h \ + H5MMprivate.h +H5D.o: \ + H5D.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Iprivate.h \ H5Ipublic.h \ + H5ACprivate.h \ + H5ACpublic.h \ H5Fprivate.h \ H5Fpublic.h \ + H5Dpublic.h \ + H5Dprivate.h \ H5Gprivate.h \ H5Gpublic.h \ H5Bprivate.h \ @@ -1090,85 +920,234 @@ H5T.o: \ H5Spublic.h \ H5Zprivate.h \ H5Zpublic.h \ - H5Iprivate.h \ H5Eprivate.h \ H5Epublic.h \ - H5MMprivate.h -H5Tbit.o: \ - H5Tbit.c \ + H5HLprivate.h \ + H5HLpublic.h \ + H5MFprivate.h \ + H5MFpublic.h \ + H5MMprivate.h \ + H5MMpublic.h \ + H5Pprivate.h \ + H5Ppublic.h \ + H5TBprivate.h +H5F.o: \ + H5F.c \ H5private.h \ H5public.h \ H5config.h \ - H5Eprivate.h \ - H5Epublic.h \ + H5Aprivate.h \ + H5Apublic.h \ H5Ipublic.h \ - H5Iprivate.h \ - H5Tpkg.h \ - H5HGprivate.h \ - H5HGpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ H5Fprivate.h \ H5Fpublic.h \ H5Dpublic.h \ + H5Dprivate.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ H5Tprivate.h \ H5Tpublic.h \ - H5Gprivate.h -H5Tconv.o: \ - H5Tconv.c \ + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h \ + H5Zpublic.h \ H5Iprivate.h \ - H5Ipublic.h \ + H5ACprivate.h \ + H5ACpublic.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5MMprivate.h \ + H5MMpublic.h +H5Fistore.o: \ + H5Fistore.c \ + H5private.h \ H5public.h \ H5config.h \ + H5Dprivate.h \ + H5Dpublic.h \ + H5Ipublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h \ + H5Zpublic.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5MFprivate.h \ + H5MFpublic.h +H5Fmpio.o: \ + H5Fmpio.c \ H5private.h \ + H5public.h \ + H5config.h \ H5Eprivate.h \ H5Epublic.h \ - H5MMprivate.h \ - H5MMpublic.h \ - H5Tpkg.h \ + H5Ipublic.h \ + H5Dprivate.h \ + H5Dpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ H5HGprivate.h \ H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h \ + H5Zpublic.h \ + H5MMprivate.h \ + H5MMpublic.h +H5Gnode.o: \ + H5Gnode.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5ACprivate.h \ + H5ACpublic.h \ H5Fprivate.h \ H5Fpublic.h \ + H5Ipublic.h \ H5Dpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5Gpkg.h \ H5Gprivate.h \ H5Gpublic.h \ - H5Bprivate.h \ - H5Bpublic.h -H5Tinit.o: \ - H5Tinit.c \ + H5HLprivate.h \ + H5HLpublic.h \ + H5MFprivate.h \ + H5MFpublic.h \ + H5MMprivate.h \ + H5MMpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h +H5O.o: \ + H5O.c \ H5private.h \ H5public.h \ H5config.h \ - H5Iprivate.h \ + H5ACprivate.h \ + H5ACpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ H5Ipublic.h \ + H5Dpublic.h \ H5Eprivate.h \ H5Epublic.h \ + H5MFprivate.h \ + H5MFpublic.h \ H5MMprivate.h \ H5MMpublic.h \ - H5Tpkg.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ H5HGprivate.h \ H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h +H5Odtype.o: \ + H5Odtype.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5Ipublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ H5Fprivate.h \ H5Fpublic.h \ H5Dpublic.h \ - H5Tprivate.h -H5TB.o: \ - H5TB.c \ + H5MMprivate.h \ + H5MMpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h \ + H5Zpublic.h \ + H5Tpkg.h +H5R.o: \ + H5R.c \ H5private.h \ H5public.h \ H5config.h \ H5Iprivate.h \ H5Ipublic.h \ - H5Eprivate.h -H5V.o: \ - H5V.c \ + H5Dprivate.h \ + H5Dpublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Zprivate.h \ + H5Zpublic.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5Rprivate.h +H5S.o: \ + H5S.c \ H5private.h \ H5public.h \ H5config.h \ + H5Iprivate.h \ + H5Ipublic.h \ H5Eprivate.h \ H5Epublic.h \ - H5Ipublic.h \ + H5MMprivate.h \ + H5MMpublic.h \ H5Oprivate.h \ H5Opublic.h \ H5Fprivate.h \ @@ -1180,29 +1159,51 @@ H5V.o: \ H5Bpublic.h \ H5HGprivate.h \ H5HGpublic.h \ - H5Tprivate.h \ - H5Tpublic.h \ - H5Sprivate.h \ - H5Spublic.h -H5Z.o: \ - H5Z.c \ + H5Tprivate.h +H5Sselect.o: \ + H5Sselect.c \ H5private.h \ H5public.h \ H5config.h \ H5Eprivate.h \ H5Epublic.h \ H5Ipublic.h \ + H5Iprivate.h \ H5MMprivate.h \ H5MMpublic.h \ + H5Sprivate.h \ + H5Spublic.h \ + H5Fprivate.h \ + H5Fpublic.h \ + H5Dpublic.h \ + H5Gprivate.h \ + H5Gpublic.h \ + H5Bprivate.h \ + H5Bpublic.h \ H5Oprivate.h \ H5Opublic.h \ + H5HGprivate.h \ + H5HGpublic.h \ + H5Tprivate.h \ + H5Tpublic.h \ + H5Zprivate.h \ + H5Zpublic.h +H5T.o: \ + H5T.c \ + H5private.h \ + H5public.h \ + H5config.h \ + H5Dprivate.h \ + H5Dpublic.h \ + H5Ipublic.h \ H5Fprivate.h \ H5Fpublic.h \ - H5Dpublic.h \ H5Gprivate.h \ H5Gpublic.h \ H5Bprivate.h \ H5Bpublic.h \ + H5Oprivate.h \ + H5Opublic.h \ H5HGprivate.h \ H5HGpublic.h \ H5Tprivate.h \ @@ -1210,4 +1211,8 @@ H5Z.o: \ H5Sprivate.h \ H5Spublic.h \ H5Zprivate.h \ - H5Zpublic.h + H5Zpublic.h \ + H5Iprivate.h \ + H5Eprivate.h \ + H5Epublic.h \ + H5MMprivate.h diff --git a/src/H5B.c b/src/H5B.c index adf5710..a118054 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -1116,7 +1116,10 @@ H5B_insert_child(H5F_t *f, const H5B_class_t *type, H5B_t *bt, * Return: Success: A B-tree operation. The address of the new * node, if the node splits, is returned through * the NEW_NODE argument. The new node is always - * to the right of the previous node. + * to the right of the previous node. This + * function is called recursively and the return + * value influences the behavior of the caller. + * See also, declaration of H5B_ins_t. * * Failure: H5B_INS_ERROR * @@ -1583,11 +1586,17 @@ H5B_iterate (H5F_t *f, const H5B_class_t *type, const haddr_t *addr, * sub B-tree that is being considered is located at ADDR and * the item to remove is described by UDATA. If the removed * item falls at the left or right end of the current level then - * it might be necessary to adjust the left and/or right keys. + * it might be necessary to adjust the left and/or right keys + * (LT_KEY and/or RT_KEY) to to indicate that they changed by + * setting LT_KEY_CHANGED and/or RT_KEY_CHANGED. * - * Return: Success: A B-tree operation. + * Return: Success: A B-tree operation, see comments for + * H5B_ins_t declaration. This function is + * called recursively and the return value + * influences the actions of the caller. It is + * also called by H5B_remove(). * - * Failure: H5B_INS_ERROR + * Failure: H5B_INS_ERROR, a negative value. * * Programmer: Robb Matzke * Wednesday, September 16, 1998 @@ -1641,7 +1650,8 @@ H5B_remove_helper(H5F_t *f, const haddr_t *addr, const H5B_class_t *type, } } if (cmp) { - HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, H5B_INS_ERROR, "B-tree key not found"); + HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, H5B_INS_ERROR, + "B-tree key not found"); } /* @@ -1659,7 +1669,7 @@ H5B_remove_helper(H5F_t *f, const haddr_t *addr, const H5B_class_t *type, lt_key_changed/*out*/, udata, bt->key[idx+1].nkey/*out*/, - rt_key_changed/*out*/))==H5B_INS_ERROR) { + rt_key_changed/*out*/))<0) { HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, H5B_INS_ERROR, "key not found in subtree"); } diff --git a/src/H5Bprivate.h b/src/H5Bprivate.h index fe287b6..da89026 100644 --- a/src/H5Bprivate.h +++ b/src/H5Bprivate.h @@ -35,11 +35,11 @@ #define H5B_MAGIC "TREE" /*tree node magic number */ #define H5B_SIZEOF_MAGIC 4 /*size of magic number */ #define H5B_SIZEOF_HDR(F) \ - (H5B_SIZEOF_MAGIC + /*magic number */ \ - 4 + /*type, level, num entries */ \ + (H5B_SIZEOF_MAGIC + /*magic number */ \ + 4 + /*type, level, num entries */ \ 2*H5F_SIZEOF_ADDR(F)) /*left and right sibling addresses */ -#define H5B_K(F,TYPE) /*K value given file and Btree subclass */ \ +#define H5B_K(F,TYPE) /*K value given file and Btree subclass */ \ ((F)->shared->create_parms->btree_k[(TYPE)->id]) typedef enum H5B_ins_t { diff --git a/src/H5D.c b/src/H5D.c index 56b8afb..dde94a2 100644 --- a/src/H5D.c +++ b/src/H5D.c @@ -1866,7 +1866,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, } } #ifdef QAK -printf("%s: after H5T_find, tconv_func=%p\n",FUNC,tconv_func); + printf("%s: after H5T_find, tconv_func=%p\n",FUNC,tconv_func); #endif /* QAK */ if (NULL==(sconv=H5S_find(mem_space, file_space))) { HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL, diff --git a/src/H5Distore.c b/src/H5Distore.c index fc78c89..49311f5 100644 --- a/src/H5Distore.c +++ b/src/H5Distore.c @@ -164,6 +164,18 @@ H5B_class_t H5B_ISTORE[1] = {{ H5F_istore_debug_key, /*debug */ }}; +#define H5F_MIXUP(X) { \ + (X) += (X)<<12; \ + (X) ^= (X)>>22; \ + (X) += (X)<<4; \ + (X) ^= (X)>>9; \ + (X) += (X)<<10; \ + (X) ^= (X)>>2; \ + (X) += (X)<<7; \ + (X) ^= (X)>>12; \ +} + + /*------------------------------------------------------------------------- * Function: H5F_istore_sizeof_rkey @@ -1187,10 +1199,14 @@ H5F_istore_lock (H5F_t *f, const H5O_layout_t *layout, FUNC_ENTER (H5F_istore_lock, NULL); assert(split_ratios); - + if (rdcc->nslots>0) { idx = layout->addr.offset; - for (i=0; indims; i++) idx = (idx<<1) ^ offset[i]; + H5F_MIXUP(idx); + for (i=0; indims; i++) { + idx += offset[i]; + H5F_MIXUP(idx); + } idx %= rdcc->nslots; ent = rdcc->slot[idx]; diff --git a/src/H5Fistore.c b/src/H5Fistore.c index fc78c89..49311f5 100644 --- a/src/H5Fistore.c +++ b/src/H5Fistore.c @@ -164,6 +164,18 @@ H5B_class_t H5B_ISTORE[1] = {{ H5F_istore_debug_key, /*debug */ }}; +#define H5F_MIXUP(X) { \ + (X) += (X)<<12; \ + (X) ^= (X)>>22; \ + (X) += (X)<<4; \ + (X) ^= (X)>>9; \ + (X) += (X)<<10; \ + (X) ^= (X)>>2; \ + (X) += (X)<<7; \ + (X) ^= (X)>>12; \ +} + + /*------------------------------------------------------------------------- * Function: H5F_istore_sizeof_rkey @@ -1187,10 +1199,14 @@ H5F_istore_lock (H5F_t *f, const H5O_layout_t *layout, FUNC_ENTER (H5F_istore_lock, NULL); assert(split_ratios); - + if (rdcc->nslots>0) { idx = layout->addr.offset; - for (i=0; indims; i++) idx = (idx<<1) ^ offset[i]; + H5F_MIXUP(idx); + for (i=0; indims; i++) { + idx += offset[i]; + H5F_MIXUP(idx); + } idx %= rdcc->nslots; ent = rdcc->slot[idx]; diff --git a/src/H5O.c b/src/H5O.c index 829e065..d03d5fa 100644 --- a/src/H5O.c +++ b/src/H5O.c @@ -1045,11 +1045,11 @@ H5O_find_in_ohdr(H5F_t *f, const haddr_t *addr, const H5O_class_t **type_p, assert(type_p); #ifdef QAK -printf("%s: addr=",FUNC); -H5F_addr_print(stdout,addr); -printf("\n%s: f=%p, addr=%p\n",FUNC,f,addr); -printf("%s: f->shared=%p\n",FUNC,f->shared); -printf("%s: H5AC_HASH=%lu\n",FUNC,(unsigned long)H5AC_HASH(f,addr)); + printf("%s: addr=",FUNC); + H5F_addr_print(stdout,addr); + printf("\n%s: f=%p, addr=%p\n",FUNC,f,addr); + printf("%s: f->shared=%p\n",FUNC,f->shared); + printf("%s: H5AC_HASH=%lu\n",FUNC,(unsigned long)H5AC_HASH(f,addr)); #endif /* QAK */ /* Load the object header */ if (NULL == (oh = H5AC_find(f, H5AC_OHDR, addr, NULL, NULL))) { diff --git a/src/H5T.c b/src/H5T.c index 5bb0a5e..575d98f 100644 --- a/src/H5T.c +++ b/src/H5T.c @@ -4333,17 +4333,21 @@ H5T_cmp(const H5T_t *dt1, const H5T_t *dt2) break; case H5T_POINTER: - if (dt1->u.atomic.u.r.rtype < dt2->u.atomic.u.r.rtype) HGOTO_DONE(-1); - if (dt1->u.atomic.u.r.rtype > dt2->u.atomic.u.r.rtype) HGOTO_DONE(1); + if (dt1->u.atomic.u.r.rtype < dt2->u.atomic.u.r.rtype) { + HGOTO_DONE(-1); + } + if (dt1->u.atomic.u.r.rtype > dt2->u.atomic.u.r.rtype) { + HGOTO_DONE(1); + } - switch(dt1->u.atomic.u.r.rtype) { + switch(dt1->u.atomic.u.r.rtype) { case H5R_OBJECT: /*void */ break; default: assert("not implemented yet" && 0); - } /* end switch */ + } break; default: @@ -4395,7 +4399,7 @@ H5T_find(const H5T_t *src, const H5T_t *dst, H5T_bkg_t need_bkg, FUNC_ENTER(H5T_find, NULL); #ifdef QAK -printf("%s: check 1.0\n",FUNC); + printf("%s: check 1.0\n",FUNC); #endif /* QAK */ if (!noop_cdata.stats && NULL==(noop_cdata.stats = H5MM_calloc (sizeof(H5T_stats_t)))) { @@ -4404,7 +4408,8 @@ printf("%s: check 1.0\n",FUNC); } #ifdef QAK -printf("%s: check 2.0, src->type=%d, dst->type=%d\n",FUNC,(int)src->type,(int)dst->type); + printf("%s: check 2.0, src->type=%d, dst->type=%d\n", + FUNC, (int)src->type, (int)dst->type); #endif /* QAK */ /* No-op case */ if (need_bkgtype=%d, dst->type=%d\n",FUNC,(int)src->type,(int)ds } #ifdef QAK -printf("%s: check 3.0\n",FUNC); + printf("%s: check 3.0\n", FUNC); #endif /* QAK */ /* Find it */ if (NULL == (path = H5T_path_find(NULL, src, dst, TRUE, NULL))) { @@ -4421,7 +4426,7 @@ printf("%s: check 3.0\n",FUNC); "unable to create conversion path"); } #ifdef QAK -printf("%s: path=%p\n",FUNC,path); + printf("%s: path=%p\n", FUNC, path); #endif /* QAK */ if ((ret_value=path->func)) { @@ -4491,7 +4496,7 @@ H5T_path_find(const char *name, const H5T_t *src, const H5T_t *dst, } } #ifdef QAK -printf("%s: check 2.0, create=%d, md=%d\n",FUNC,(int)create,md); + printf("%s: check 2.0, create=%d, md=%d\n", FUNC, (int)create, md); #endif /* QAK */ /* Insert */ @@ -4520,14 +4525,16 @@ printf("%s: check 2.0, create=%d, md=%d\n",FUNC,(int)create,md); "memory allocation failed"); } #ifdef QAK -printf("%s: check 3.0, src=%p, dst=%p\n",FUNC,src,dst); -printf("%s: check 3.0, src->type=%d, dst->type=%d\n",FUNC,(int)src->type,(int)dst->type); + printf("%s: check 3.0, src=%p, dst=%p\n", FUNC, src, dst); + printf("%s: check 3.0, src->type=%d, dst->type=%d\n", + FUNC, (int)src->type, (int)dst->type); #endif /* QAK */ path->src = H5T_copy(src, H5T_COPY_ALL); path->dst = H5T_copy(dst, H5T_COPY_ALL); #ifdef QAK -printf("%s: check 3.5, func=%p, name=%s\n",FUNC,func,(name!=NULL ? name : "NULL")); + printf("%s: check 3.5, func=%p, name=%s\n", + FUNC, func, (name!=NULL ? name : "NULL")); #endif /* QAK */ /* Associate a function with the path if possible */ if (func) { @@ -4595,7 +4602,7 @@ printf("%s: check 3.5, func=%p, name=%s\n",FUNC,func,(name!=NULL ? name : "NULL" } } #ifdef QAK -printf("%s: leaving path=%p\n",FUNC,path); + printf("%s: leaving path=%p\n", FUNC, path); #endif /* QAK */ FUNC_LEAVE(path); } diff --git a/test/.distdep b/test/.distdep index 25cfd63..ffda783 100644 --- a/test/.distdep +++ b/test/.distdep @@ -1,11 +1,3 @@ -testhdf5.o: \ - testhdf5.c \ - testhdf5.h \ - ../src/H5private.h \ - ../src/H5public.h \ - ../src/H5config.h \ - ../src/H5Eprivate.h \ - ../src/H5Epublic.h tattr.o: \ tattr.c \ testhdf5.h \ @@ -103,32 +95,6 @@ tohdr.o: \ ../src/H5Tprivate.h \ ../src/H5Tpublic.h \ ../src/H5Sprivate.h -trefer.o: \ - trefer.c \ - testhdf5.h \ - ../src/H5private.h \ - ../src/H5public.h \ - ../src/H5config.h \ - ../src/H5Eprivate.h \ - ../src/H5Epublic.h \ - ../src/H5Ipublic.h \ - ../src/hdf5.h \ - ../src/H5Apublic.h \ - ../src/H5ACpublic.h \ - ../src/H5Bpublic.h \ - ../src/H5Dpublic.h \ - ../src/H5Fpublic.h \ - ../src/H5Gpublic.h \ - ../src/H5HGpublic.h \ - ../src/H5HLpublic.h \ - ../src/H5MFpublic.h \ - ../src/H5MMpublic.h \ - ../src/H5Opublic.h \ - ../src/H5Ppublic.h \ - ../src/H5Zpublic.h \ - ../src/H5Rpublic.h \ - ../src/H5RApublic.h \ - ../src/H5Spublic.h tselect.o: \ tselect.c \ testhdf5.h \ @@ -486,30 +452,6 @@ links.o: \ ../src/H5RApublic.h \ ../src/H5Spublic.h \ ../src/H5Tpublic.h -chunk.o: \ - chunk.c \ - ../src/hdf5.h \ - ../src/H5public.h \ - ../src/H5config.h \ - ../src/H5Ipublic.h \ - ../src/H5Apublic.h \ - ../src/H5ACpublic.h \ - ../src/H5Bpublic.h \ - ../src/H5Dpublic.h \ - ../src/H5Epublic.h \ - ../src/H5Fpublic.h \ - ../src/H5Gpublic.h \ - ../src/H5HGpublic.h \ - ../src/H5HLpublic.h \ - ../src/H5MFpublic.h \ - ../src/H5MMpublic.h \ - ../src/H5Opublic.h \ - ../src/H5Ppublic.h \ - ../src/H5Zpublic.h \ - ../src/H5Rpublic.h \ - ../src/H5RApublic.h \ - ../src/H5Spublic.h \ - ../src/H5Tpublic.h bittests.o: \ bittests.c \ ../src/H5Tpkg.h \ @@ -598,6 +540,64 @@ unlink.o: \ ../src/H5Zpublic.h \ ../src/H5Rpublic.h \ ../src/H5RApublic.h +testhdf5.o: \ + testhdf5.c \ + testhdf5.h \ + ../src/H5private.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Eprivate.h \ + ../src/H5Epublic.h +trefer.o: \ + trefer.c \ + testhdf5.h \ + ../src/H5private.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Eprivate.h \ + ../src/H5Epublic.h \ + ../src/H5Ipublic.h \ + ../src/hdf5.h \ + ../src/H5Apublic.h \ + ../src/H5ACpublic.h \ + ../src/H5Bpublic.h \ + ../src/H5Dpublic.h \ + ../src/H5Fpublic.h \ + ../src/H5Gpublic.h \ + ../src/H5HGpublic.h \ + ../src/H5HLpublic.h \ + ../src/H5MFpublic.h \ + ../src/H5MMpublic.h \ + ../src/H5Opublic.h \ + ../src/H5Ppublic.h \ + ../src/H5Zpublic.h \ + ../src/H5Rpublic.h \ + ../src/H5RApublic.h \ + ../src/H5Spublic.h +chunk.o: \ + chunk.c \ + ../src/hdf5.h \ + ../src/H5public.h \ + ../src/H5config.h \ + ../src/H5Ipublic.h \ + ../src/H5Apublic.h \ + ../src/H5ACpublic.h \ + ../src/H5Bpublic.h \ + ../src/H5Dpublic.h \ + ../src/H5Epublic.h \ + ../src/H5Fpublic.h \ + ../src/H5Gpublic.h \ + ../src/H5HGpublic.h \ + ../src/H5HLpublic.h \ + ../src/H5MFpublic.h \ + ../src/H5MMpublic.h \ + ../src/H5Opublic.h \ + ../src/H5Ppublic.h \ + ../src/H5Zpublic.h \ + ../src/H5Rpublic.h \ + ../src/H5RApublic.h \ + ../src/H5Spublic.h \ + ../src/H5Tpublic.h overhead.o: \ overhead.c \ ../src/hdf5.h \ diff --git a/test/chunk.c b/test/chunk.c index 73a1e1e..92279ac 100644 --- a/test/chunk.c +++ b/test/chunk.c @@ -42,7 +42,9 @@ #define RM_CACHE_DELT 5 #define RM_START 0.50 #define RM_END 5.00 -#define RM_DELTA 0.50 +#define RM_DELTA 0.5 +#define RM_W0 1.0 +#define RM_NRDCC 5210 /* Diagonal test */ #define DIAG_CACHE_STRT 25 @@ -50,7 +52,9 @@ #define DIAG_CACHE_DELT 5 #define DIAG_START 0.50 #define DIAG_END 5.00 -#define DIAG_DELTA 0.50 +#define DIAG_DELTA 0.5 +/* #define DIAG_W0 0.65 */ +/* #define DIAG_NRDCC 521 */ static size_t nio_g; static hid_t fapl_g = -1; @@ -163,6 +167,12 @@ test_rowmaj (int op, hsize_t cache_size, hsize_t io_size) double w0; H5Pget_cache (fapl_g, &mdc_nelmts, &rdcc_nelmts, NULL, &w0); +#ifdef RM_W0 + w0 = RM_W0; +#endif +#ifdef RM_NRDCC + rdcc_nelmts = RM_NRDCC; +#endif H5Pset_cache (fapl_g, mdc_nelmts, rdcc_nelmts, cache_size*SQUARE (CH_SIZE), w0); file = H5Fopen (FILE_NAME, H5F_ACC_RDWR, fapl_g); @@ -232,6 +242,12 @@ test_diag (int op, hsize_t cache_size, hsize_t io_size, hsize_t offset) double w0; H5Pget_cache (fapl_g, &mdc_nelmts, &rdcc_nelmts, NULL, &w0); +#ifdef DIAG_W0 + w0 = DIAG_W0; +#endif +#ifdef DIAG_NRDCC + rdcc_nelmts = DIAG_NRDCC; +#endif H5Pset_cache (fapl_g, mdc_nelmts, rdcc_nelmts, cache_size*SQUARE (CH_SIZE), w0); file = H5Fopen (FILE_NAME, H5F_ACC_RDWR, fapl_g); diff --git a/test/overhead.c b/test/overhead.c index 785bfd7..4fdc6d3 100644 --- a/test/overhead.c +++ b/test/overhead.c @@ -226,7 +226,7 @@ test(fill_t fill_style, const double splits[], /* Determine overhead */ if (verbose) { - if (H5Fflush(file)<0) goto error; + if (H5Fflush(file, H5F_SCOPE_LOCAL)<0) goto error; if (fstat(fd, &sb)<0) goto error; printf("%4lu %8.3f\n", (unsigned long)i, -- cgit v0.12