Hello team, the recent break provided me with some spare time and I decided to use it to make a gift to SSSD. Santa agreed that SSSD has been a good kid this year and here we go :-)
2 years ago I opened this bug: https://fedorahosted.org/sssd/ticket/357 [SSSD should provide fast in memory cache to provide similar functionality as NSCD currently provides] I have been thinking about this feature since I started the SSSD project more than (gasp!) 3 years ago, time flies ... So after a few weekend musings during last fall I had enough will and clout to actually go and do it in small sprints during my vacation. The feature is not finalized, many small touches are still necessary but the bulk of it is there and it happens to work too :-) Currently only the passwd and group maps are implemented and enumerations are not cached this way by design. During the process of creating this feature I also found some minor bugs or changes that would help it. So the patchset has been split in 4 batches 0/1: general fixes for bugs I found while coding These patches should be quite straight forward and would be nice to apply them asap. 0/2: changes to make life easier for later patches These change some internals of fill_pwent() and fiull_grent() and can be applied on their own. I think they also simplify, slightly, reading those functions, but that's probably a matter of taste. It would be nice to have these patches pushed (unless there are issues with them) reasonably soon in order to avoid a lot of churn and rebases if they stomp on some other people work. 0/3: New utility functions/headers These are also quite straightforward but they are useless without the later patches 0/4: Actual memory cache implementation These is the bulk of the work, these patches are still a bit rough at the edges, grep for FIXMEs and TODOs and you'll see some plumbing (for example configure options in sssd to set expiration time and cache sizes are missing and are still harcoded). The reason I am sending them is that this is a pet project for me so I will work on it only off working hours, and that means I have less time for it now that vacations are over. But it is really close to be an experimental feature imo, so I would like a general review from the list to see if there is anything major that people think should be changed before I take some time the next weekend (or one of the next sleepless nights :-) to polish the patches further. All comments are really welcome, because even if it is a pet project I would really like to see it committed soon in master as it gives a nice performance boost in some situations. Also more can be built on it that is not available now, like negative caching, a better allocation algorithm for cache blocks, etc... Have fun and let me know what you think. Simo. -- Simo Sorce * Red Hat, Inc * New York _______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/sssd-devel