[PATCH 00/15] Hierarchical reference cache (once again)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


From: Michael Haggerty <mhagger@xxxxxxxxxxxx>

Here is another installment of the "hierarchical refs" saga.  This
patch series (obviously) builds on the changes in master that removed
extra_refs.  This group of patches does some cleanup then makes the
transition to storing reference caches hierarchically.  It also
includes the first benefit of the hierarchical storage scheme, namely
that searching for individual references becomes more efficient
(though as yet all references are read into the cache if any
references are needed, so the benefit is limited).

I will have limited Internet connectivity for the next week, so I
apologize in advance if I don't react quickly to feedback.  But I
wanted to throw at least part of this reworked "ref-api" patch series
back into the ring while the new release cycle is still fresh.

Michael Haggerty (15):
  refs.c: reorder definitions more logically
  refs: manage current_ref within do_one_ref()
  do_for_each_ref_in_array(): new function
  do_for_each_ref_in_arrays(): new function
  repack_without_ref(): reimplement using do_for_each_ref_in_array()
  names_conflict(): new function, extracted from is_refname_available()
  names_conflict(): simplify implementation
  is_refname_available(): reimplement using do_for_each_ref_in_array()
  free_ref_entry(): new function
  check_refname_component(): return 0 for zero-length components
  struct ref_entry: nest the value part in a union
  refs.c: rename ref_array -> ref_dir
  sort_ref_dir(): simplify logic
  refs: store references hierarchically
  do_for_each_ref(): only iterate over the subtree that was requested

 refs.c | 1036 +++++++++++++++++++++++++++++++++++++++++-----------------------
 refs.h |    7 +-
 2 files changed, 670 insertions(+), 373 deletions(-)

-- 
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Newbies FAQ]     [Linux Kernel Development]     [Free Online Dating]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Free Online Dating]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]     [Linux Resources]

Add to Google