lkml.org 
[lkml]   [2002]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: root-owned /proc/pid files for threaded apps?
On Fri, Mar 08, 2002 at 01:41:49PM -0800, Danek Duvall wrote:
> >
> > > So it also turns out that either by changing that argument to 0 or
> > > just reverting that hunk of the patch, xmms starts skipping whenever
> > > mozilla loads a page, even a really simple one.
> > ie. always when mozilla tries to do a socket(PF_INET6, ...), which
> > ends up requesting the ipv6 module.
> I don't think so -- modprobe logs its attempts in /var/log/ksymoops/ and
> there aren't nearly as many attempts to load net-pf-10 logged there as
> pages I reloaded.

Hmm, right. Actually, it should only try to open an IPv6 socket if
you stomp on a webserver which runs IPv6 already.

> > Maybe it's related to the wmb() done by set_user() if dumpclear is
> > set? (although it's actually a nop on most x86 (which arch are you
> > using?))
> AMD K6-III, just to be specific.

OK, if you didn't compile your kernel for an IDT WinChip, wmb() only
affects the compilers optimizer (it stops the compiler from reordering
memory writes across it, so it's effect is not changed by the if
around it in this case).

> > Just for testing, can you try moving the wmb() in set_user()
> > (kernel/sys.c, line 512 in 2.4.19-pre2-ac3) out of the if statement?
> I'd expect to see the skipping regardless, then, right?

Nope, the other way round. At the moment, the wmb() in set_user() is
only done if dumpclear is set, ie. with set_user(0, 1).

But as stated above, moving the wmb() should not change anything on an
x86 (non-WinChip) machine. I think your problem is buried somewhere
else ...

> I'll give it a
> shot tonight and report back.

... but really testing it doesn't hurt, so please proceed :-)

What you can also try is making the kernel do those module requests
without the rest of mozilla around it. Try running the following test
program a few times while you are listening to music.

---------- snip ----------
/*
* Save as ipv6test.c and compile with "gcc -o ipv6test ipv6test.c".
* Run with "./ipv6test".
*/

#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>

int main(void)
{
int s;

printf("Creating IPv6 socket...");
if ((s = socket(PF_INET6, SOCK_STREAM, 0)) != -1) {
printf(" succeeded.\n");
close(s);
}
else
printf("failed.\nsocket: %m\n");
return 0;
}
---------- snip ----------

If this doesn't cause skips, it seems very unlikely to me that your
skips are related to request_module() or the functions called by it.

Andreas
--
Andreas Ferber - dev/consulting GmbH - Bielefeld, FRG
---------------------------------------------------------
+49 521 1365800 - af@devcon.net - www.devcon.net
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.069 / U:23.616 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site