Ben Lambert <belambert@...> writes:
> On Jul 18, 2006, at 7:23 PM, Juho Snellman wrote:
>
> >> But also I wonder exactly what the profiler samples. Does it just
> >> sample the function that is currently executing or does it sample
> >> the entire call stack?
> >
> > Neither. By default it samples eight levels of the call stack on x86
> > and x86-64, and two levels on other platforms.
>
> Thanks Juho. Just one more question, if 8 and 2 are the defaults for
> this, is it possible to increase them? Or are there hard limitations
> on how far back in the stack it's possible to look when sampling?
You can increase it on x86* by increasing the value of +sample-size+
and recompiling sb-sprof. There's no hard limit, but profiling will
cause bigger slowdowns with higher depths. For non-x86oid platforms
going beyond 2 levels would require some coding.
--
Juho Snellman

On Jul 18, 2006, at 7:23 PM, Juho Snellman wrote:
>> But also I wonder exactly what the profiler samples. Does it just
>> sample the function that is currently executing or does it sample
>> the entire call stack?
>
> Neither. By default it samples eight levels of the call stack on x86
> and x86-64, and two levels on other platforms.
Thanks Juho. Just one more question, if 8 and 2 are the defaults for
this, is it possible to increase them? Or are there hard limitations
on how far back in the stack it's possible to look when sampling?
Ben

"Peter Hertmuller" <phertmuller@...> writes:
> > > Gen Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs
> > Mem-age
> > > 0: 128844 1 27 0 13 527686944 172768 2050840 0
> > 1 0.0000
Ok, we got another similar report with a test-case. This was
apparently a regression on x86 since 0.9.14, and should be fixed as of
0.9.14.27. Can you check that this version also fixes your program?
> I've downloaded the source code from CVS, and I've tried to increase the
> dynamic memory space changing the parms.lisp file under /src/compiler/x86/
> folder (I've followed the recomedations made in an email sometime ago for an
> X86-64 machine). My machine has 2GB of RAM,
The amount of physical memory you have in your computer doesn't matter,
the issue is the available address space.
> so I've increased the memory
> figures up to 1GB (changing the dynamic-space-end from 512MB (x29000000) up
> to 1GB (x49000000), considering that the dynamic-space-starts at x09000000.
> This didn't work as well. I've got an error when the compiler fires the
> make-target-2.sh. Appears the error:
>
> //doing warm init
>
> mmap: wanted 1073741824 bytes at 0x9000000, actually mapped at 0x40182000
>
> ensure_space: failed to validate 1073741824 bytes at 0x09000000
There wasn't a gigabyte of free address space available starting at
0x900000. If that happens, you need to move the start of the dynamic
space elsewhere. You might find src/runtime/trymap.c to be useful for
determining where the reserved memory areas are on your system.
--
Juho Snellman

"Peter Hertmuller" <phertmuller@...> writes:
> I'm having problems running sbcl. I'll try to be as concise as possible:
>
> I start SBCL (via SLIME in a terminal), start my program, and after
> sometime, SBCL crashes, with a message like this:
>
> Argh! gc_find_free_space failed (first_page), nbytes=8.
This means that you've run out of memory (a maximum of 512MB can be
allocated on Linux/x86 for and sbcl compiled with the default
settings).
> Gen Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs Mem-age
> 0: 128844 1 27 0 13 527686944 172768 2050840 0 1 0.0000
And this says that practically all of the memory was used by newly
allocated small objects. Which really shouldn't be happening: while
these objects are being allocated, garbage collections should be
triggered, which move some of them from the 0th generation to older
ones.
Is your application maybe disabling the GC or alternately disabling
interrupts?
--
Juho Snellman

Benjamin Lambert <benlambert@...> writes:
> Is there any documentation available that describes what the report
> from sb-sprof means? The main thing I'm confused about is what are
> the differences among "self", "cumul", and "total".
No, it's not documented. One reason is that I keep wondering whether
"cumul" and "total" should be switched around, which we really
shouldn't do once they've been formally documented.
"self" is time spent executing the function itself. "cumul" is the
time spent in the function or functions called from it. "total" is the
sum of the "self"s of this function, and all functions above it in the
list.
Or maybe "cumul" and "total" were the other way around. I
forget... ;-) It should be obvious from the report which is which.
> But also I wonder exactly what the profiler samples. Does it just
> sample the function that is currently executing or does it sample
> the entire call stack?
Neither. By default it samples eight levels of the call stack on x86
and x86-64, and two levels on other platforms.
--
Juho Snellman

Is there any documentation available that describes what the report
from sb-sprof means? The main thing I'm confused about is what are
the differences among "self", "cumul", and "total". But also I
wonder exactly what the profiler samples. Does it just sample the
function that is currently executing or does it sample the entire
call stack?
Thanks,
Ben

I have a feeling this is a FAQ but the usual Google searches didn't
turn anything up.
Is there any way to stop SBCL warning me when I redefine a function?
To me it is just unwanted noise cluttering up the REPL.
I already know I'm redefining functions. One of my reasons for using
Lisp in the first place is that I can do this without having to relink
and restart my entire executable.
If the warnings are SBCL's way of telling me that I'm preventing it
from performing some optimization or other, I want to tell it that I
don't care unless I'm compiling with (optimize (speed 3)).
Graham

Invalid final delivery userid: info@...
Original message follows.
Received: from mail.sbdcreative.com [24.182.151.238] by io.locustcreek.net
(SMTPD-9.04) id AF9C05A0; Wed, 12 Jul 2006 13:21:32 -0400
Received: from externalmx-1.sourceforge.net
by 24-182-151-238.dhcp.cpgd.mo.charter.com (8.12.11/8.12.11) with ESMTP id xGJdPxgWTnO3m
for <sbd@...>; Wed, 12 Jul 2006 17:20:36 -0300
Received: from [213.34.197.31]
by externalmx-1.sourceforge.net with ESMTP (8.9.3/8.9.3) id lzY1Rze7hH2MR
for <sbd@...>; Wed, 12 Jul 2006 17:14:39 -0300
Reply-to: "sbcl-help@..." <sbcl-help@...>
From: "sbcl-help@..." <sbcl-help@...>
Date: Wed, 12 Jul 2006 17:12:35 -0300
Message-ID: EoiodK8TfLJd9.g502xzMqg1ZOh@...
To: sbd@...
Content-type: text/html;
Charset=Windows-1251
Subject: Obtain the career you have always wanted with the University Degree you deserve.
MIME-Version: 1.0
<div align="left"><b><font s1ze="5"> Want the degree but cant f1nd <acd></acd>the time?</font></b><BR>
<BR>
WHAT A GREAT IDEA!<BR>
We <acq></acq>provide a concept that will allow anyone with sufficient <acj></acj>work experience
to obtain a fully verifiable University Degree.<BR>
Bachelors, Masters or even a <acz></acz>Doctorate.<BR>
Think of it, <aco></aco>within four to six weeks, you too could be a college graduate.<BR>
Many people <acx></acx>share the same frustration, they are <ach></ach>all doing the work <acr></acr>of the person
that has the <acw></acw>degree and the person that has <act></act>the degree is getting all the money.<BR>
Dont you think that <acy></acy>it is time you were paid fair compensation for the level
of work you are already doing?<BR>
This is your chance to finally make the right move and receive your <acy></acy>due benefits.<BR>
If you are like most people, you are more than qualified with your experience,
but are lacking <aci></aci>that prestigious <ace></ace>piece of <acg></acg>paper known as a diploma that is often
[message truncated]