user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH 2/5] git-http-backend: remove process limit
  2016-05-22 20:57  6% [PATCH 0/5] a few more HTTP-async-related simplifications Eric Wong
@ 2016-05-22 20:57  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2016-05-22 20:57 UTC (permalink / raw)
  To: meta

We will figure out a different way to avoid overloading...
---
 lib/PublicInbox/GitHTTPBackend.pm | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/lib/PublicInbox/GitHTTPBackend.pm b/lib/PublicInbox/GitHTTPBackend.pm
index b58cc30..35c3383 100644
--- a/lib/PublicInbox/GitHTTPBackend.pm
+++ b/lib/PublicInbox/GitHTTPBackend.pm
@@ -11,14 +11,6 @@ use IO::File;
 use PublicInbox::Spawn qw(spawn);
 use HTTP::Date qw(time2str);
 
-# TODO: make configurable, but keep in mind it's better to have
-# multiple -httpd worker processes which are already scaled to
-# the proper number of CPUs and memory.  git-pack-objects(1) may
-# also use threads and bust memory limits, too, so I recommend
-# limiting threads to 1 (via `pack.threads` knob in git) for serving.
-my $LIMIT = 1;
-my $nr_running = 0;
-
 # n.b. serving "description" and "cloneurl" should be innocuous enough to
 # not cause problems.  serving "config" might...
 my @text = qw[HEAD info/refs
@@ -54,7 +46,6 @@ sub r ($) {
 
 sub serve {
 	my ($cgi, $git, $path) = @_;
-	return serve_dumb($cgi, $git, $path) if $nr_running >= $LIMIT;
 
 	my $service = $cgi->param('service') || '';
 	if ($service =~ /\Agit-\w+-pack\z/ || $path =~ /\Agit-\w+-pack\z/) {
@@ -243,7 +234,6 @@ sub serve_smart {
 	$wpipe = $in = undef;
 	$buf = '';
 	my ($vin, $fh, $res);
-	$nr_running++;
 
 	# Danga::Socket users, we queue up the read_enable callback to
 	# fire after pending writes are complete:
@@ -264,7 +254,6 @@ sub serve_smart {
 			# PublicInbox::HTTPD::Async::close:
 			$rpipe->close;
 			$rpipe = undef;
-			$nr_running--;
 		}
 		if (defined $pid) {
 			my $e = $pid == waitpid($pid, 0) ?

^ permalink raw reply related	[relevance 7%]

* [PATCH 0/5] a few more HTTP-async-related simplifications
@ 2016-05-22 20:57  6% Eric Wong
  2016-05-22 20:57  7% ` [PATCH 2/5] git-http-backend: remove process limit Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2016-05-22 20:57 UTC (permalink / raw)
  To: meta

Since we'll be doing more expensive processes in repobrowse,
it's prudent to refactor and commonalize some of this code.
Here's a start...

Eric Wong (5):
      t/spawn.t: additional tests for popen_rd
      git-http-backend: remove process limit
      git-http-backend: simplify dumb serving
      http: rework async_pass support
      git-http-backend: switch to async_pass

 lib/PublicInbox/GitHTTPBackend.pm | 251 ++++++++++++++++----------------------
 lib/PublicInbox/HTTP.pm           |  24 +---
 lib/PublicInbox/HTTPD/Async.pm    |  45 ++++---
 t/spawn.t                         |  10 ++
 4 files changed, 143 insertions(+), 187 deletions(-)

^ permalink raw reply	[relevance 6%]

Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2016-05-22 20:57  6% [PATCH 0/5] a few more HTTP-async-related simplifications Eric Wong
2016-05-22 20:57  7% ` [PATCH 2/5] git-http-backend: remove process limit Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).