|
From: | Earp, Damon N. (GSFC-619.0)[SCIENCE SYSTEMS AND APPLICATIONS INC] |
Subject: | Re: [libmicrohttpd] [EXTERNAL] Re: New Features: Create response from an IOVEC and Thread-safe Adding Connections to an EPoll Internal Thread MHD_Daemon |
Date: | Fri, 8 Jan 2021 20:12:29 +0000 |
Thanks for the feedback,
I'm not surprised by any of the gripes, most of this stuff has been done for our use case and not in a portable manner. As neither of us are adept at this code we might need some guidance. We missed the addition of the new connection list that was added in
0.9.72 and will look to use that instead of our now duplicate implementation. Anything to minimize the number of changes we make will be great.
> Could you explain the new functionality added by 0.9.72-internal_queue_connection.patch?
Hopefully most of these changes are moot with 0.9.72's `new_connections_head`. Now that we are aware of our duplicate effort we might start from scratch on this with a fresh 0.9.72 and see if any of these changes are needed still.
> The header sys/uio.h is not portable.
Noted, we will work on making the iovec code portable and emulating sendmsg on incompatible platforms.
> Did you run any tests with/without your patch? Did it significantly increase throughput?
We have run correctness tests but not benchmarking, patched 0.9.62 has been in production for over a month using these changes. We used perf early on and noticed memcpys dominating our cpu time which is why we started down this path. We've had times where end
users have requested > 5 TB of data in a sort timespan and there were 4 copies made going from kernel through our program and back to kernel. With the addition of a unit test we can compare MHD_create_response_from_iovec to MHD_create_response_from_callback.
> Please, use "diff -p" next time as it simplify reviewing the changes.
On it, first time doing this.
> It would be great if you could update the libmicrohttpd manual
Will do.
> It would be good to have a simple unit test
We will look into adding one.
Thanks,
Damon Earp
From: Christian Grothoff <grothoff@gnunet.org>
Sent: Friday, January 8, 2021 13:47 To: libmicrohttpd development and user mailinglist <libmicrohttpd@gnu.org> Cc: Earp, Damon N. (GSFC-619.0)[SCIENCE SYSTEMS AND APPLICATIONS INC] <damon.n.earp@nasa.gov>; Sebald, Lawrence (GSFC-619.0)[SCIENCE SYSTEMS AND APPLICATIONS INC] <lawrence.sebald@nasa.gov> Subject: [EXTERNAL] Re: [libmicrohttpd] New Features: Create response from an IOVEC and Thread-safe Adding Connections to an EPoll Internal Thread MHD_Daemon Dear Damon,
Dear Lawrence, This is a good place for such patches. Like Evgeny, I'm in principle in favor, but have also some "major" gripes: 1) It would be great if you could update the libmicrohttpd manual (in docs/) to document the new external API function(s). Just a few sentences explaining the arguments and what the function does. 2) It would be good to have a simple unit test (see src/testcurl/ for examples), especially so that we find out if basic things break on certain platforms (given the non-portable nature of the patch). Happy hacking! Christian On 1/8/21 6:14 PM, Earp, Damon N. (GSFC-619.0)[SCIENCE SYSTEMS AND APPLICATIONS INC] via libmicrohttpd wrote: > We've made changes to libmicrohttpd that we'd like to see integrated into the project. If this isn't the appropriate forum for submitting patches please let us know. |
[Prev in Thread] | Current Thread | [Next in Thread] |