Re: [PATCH v2 05/11] object-store: allow threaded access to object reading
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Nov 14, 2019, 18:15 UTC
- Message-ID
- <20191114181552.137071-1-jonathantanmy@google.com>
- In-Reply-To
- <20191114060134.GB10643@sigill.intra.peff.net>
Show 13 quoted lines
> > > A pthread_rwlock would work, but it would be the first use in Git. I > > > think we'd need to find an equivalent for compat/win32/pthread.h. > > > > These[1][2] seems to be the equivalent options on Windows. I'll have > > to read these docs more carefully, but [2] seems to be more > > interesting in terms of speed. Also, the extra features of [1] are not > > really needed for our use case here. > > > > [1]: https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/reader-writer-spin-locks > > [2]: https://docs.microsoft.com/en-us/windows/win32/sync/slim-reader-writer--srw--locks > > Yeah, looks like it, but I don't have any expertise there (nor a Windows > system to test on).
One thing to note is that that if we do this, we'll be having one rwlock per pack window. I couldn't find out what the Windows limits were, but it seems that pthreads does not mandate having no limit [1]:
Show 5 quoted lines
> Defining symbols for the maximum number of mutexes and condition > variables was considered but rejected because the number of these > objects may change dynamically. Furthermore, many implementations > place these objects into application memory; thus, there is no > explicit maximum.
[1] https://linux.die.net/man/3/pthread_mutex_init