<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dnbd3.git/src/server/threadpool.c, branch isfant</title>
<subtitle>Distributed Network Block Device 3 --rewrite for Kernel 3.x</subtitle>
<id>https://git.openslx.org/dnbd3.git/atom/src/server/threadpool.c?h=isfant</id>
<link rel='self' href='https://git.openslx.org/dnbd3.git/atom/src/server/threadpool.c?h=isfant'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/'/>
<updated>2023-06-14T09:04:17+00:00</updated>
<entry>
<title>[SERVER] Threadpool: Add active thread count to error message</title>
<updated>2023-06-14T09:04:17+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2023-06-14T09:04:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=fd2906767361f901cbe0a7a529e933044c1cad7d'/>
<id>urn:sha1:fd2906767361f901cbe0a7a529e933044c1cad7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[BUILD] rewrite CMake build system to track changes of source files</title>
<updated>2020-10-16T15:15:49+00:00</updated>
<author>
<name>Manuel Bentele</name>
</author>
<published>2020-10-16T15:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=969496f15e1e0359e26c2c6e995ad4ef82720f86'/>
<id>urn:sha1:969496f15e1e0359e26c2c6e995ad4ef82720f86</id>
<content type='text'>
This change restructures the source code directories, separates shared
form non-shared application code and adds CMake dependencies. These
dependencies allow the tracking of changes and trigger a rebuild of
those build targets where changed files are involved.

WARNING: Note that the support of the DNBD3_SERVER_AFL build option is
not supported yet. Thus, the option should be never turned on.
</content>
</entry>
<entry>
<title>[SERVER] fix uninitialized variable</title>
<updated>2020-06-10T13:28:41+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2020-06-10T13:28:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=abe55c2bf2b93e9431ee2c22afd7f3f6611d71d8'/>
<id>urn:sha1:abe55c2bf2b93e9431ee2c22afd7f3f6611d71d8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Add name param to threadpool_run</title>
<updated>2020-03-19T10:26:12+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2020-03-19T10:26:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=ba617b55eb606ab487f154b124750e121518d5e5'/>
<id>urn:sha1:ba617b55eb606ab487f154b124750e121518d5e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] threadpool: Simplify get code, make debug code _DEBUG only</title>
<updated>2020-03-14T16:27:13+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2020-03-14T16:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=d3df3ba3005977629b8847b507df1fdae40ffbd5'/>
<id>urn:sha1:d3df3ba3005977629b8847b507df1fdae40ffbd5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Make signal handling more POSIX</title>
<updated>2019-08-28T11:07:13+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-28T11:07:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=ac1bf45ebdd630fbc9ad2c1fa3c0ea99f5206799'/>
<id>urn:sha1:ac1bf45ebdd630fbc9ad2c1fa3c0ea99f5206799</id>
<content type='text'>
According to POSIX, a signal sent to a PID can be delivered to an
arbitrary thread of that process that hasn't the signal blocked. This
seens to never happen on Linux, but would mess things up since the code
expected the main signal handler to only be executed by the main thread.
This should now be fixed by examining the destination PID of the signal
as well as the ID of the thread currently running the signal handler. If
we notice the signal wasn't sent by our own PID and the handler is not
currently run by the main thread, we re-send the signal to the main
thread. Otherwise, if the signal was sent by our own PID but the handler
is not run in the main thread, do nothing. This way we can use
pthread_kill() to wake up threads that might be stuck in a blocking
syscall when it's time to shut down.
</content>
</entry>
<entry>
<title>[SERVER] Lock free thread pool</title>
<updated>2019-08-16T13:02:47+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-16T13:02:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=0aca693bede4fe7e7e8098cbe33a96a88bc0ec85'/>
<id>urn:sha1:0aca693bede4fe7e7e8098cbe33a96a88bc0ec85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Add sanity check to threadpool_run for NULL routine</title>
<updated>2019-08-05T10:47:15+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-05T10:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=71c707da4e5405c986399c3f4505fa0a554548ba'/>
<id>urn:sha1:71c707da4e5405c986399c3f4505fa0a554548ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Switch threadpool back to spinlock, add idle thread counter</title>
<updated>2019-08-05T10:46:22+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-08-05T10:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=c5795aa1f76a35a9b02ce07f145d650a92cfeb86'/>
<id>urn:sha1:c5795aa1f76a35a9b02ce07f145d650a92cfeb86</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[SERVER] Turn all spinlocks into mutexes</title>
<updated>2019-07-26T15:22:56+00:00</updated>
<author>
<name>Simon Rettberg</name>
</author>
<published>2019-07-26T15:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/dnbd3.git/commit/?id=b071050dd6a99c54c5995dc0f5694edd847a2792'/>
<id>urn:sha1:b071050dd6a99c54c5995dc0f5694edd847a2792</id>
<content type='text'>
Just assume sane platforms offer smart mutexes
that have a fast-path with spinlocks internally
for locks that have little to no congestion.
In all other cases, mutexes should perform better
anyways.
</content>
</entry>
</feed>
