------- Comment #3 from wilson at codesourcery dot com  2010-03-25 23:21 -------
Subject: Re:  gcc.dg/pr43058.c uses way too
 memory on ia64

On Thu, 2010-03-25 at 19:05 +0000, pinskia at gcc dot gnu dot org wrote:
> Did you test earlier versions of GCC with the testcase?

I hadn't gotten around to it yet.  I am at Cisco Tue-Thu, and I can't do
much IA-64 work these days.

It compiles OK with gcc-4.4.

> Also it should not hard to figure out where in the scheduler the memory is
> being used.  The kernel panic is not our fault so make sure the kernel guys 
> get
> a bug report also; the memory usage is though.

Another thing I hadn't gotten around to yet.  The problem appears to be
Vlad's -fsched-pressure stuff.  reg_last->implicit_sets has about 5000
instructions on the list.  If we have 5000 insns each of which is
getting a dependency on each other, that is 25M dependencies, at 40
bytes each, which is 1GB, not counting other overhead.  There is also
memory being allocated somewhere else, as this testcase needs more than
3GB to be compiled.  It appears that these lists need some kind of
throttling to prevent them from getting too big.  Or maybe they aren't
being constructed correctly for IA-64. -fno-sched-pressure doesn't help,
as that does not disable creation of the implicit register sets.  I can
spend more time looking at this later.

Everybody knows the linux kernel oom killer has problems, and that there
are no easy solutions.  I don't need to report that.

Jim


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43520

Reply via email to