gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Re: Error: snoop filter exceeded capacity

JS
John Smith
Mon, Jul 10, 2023 7:59 PM

I'm sorry. Here's the error message I got:

build/X86/mem/snoop_filter.cc:197: panic: panic condition !is_hit &&
(cachedLocations.size() >= maxEntryCount) occurred: snoop filter exceeded
capacity of 131072 cache blocks
Memory Usage: 17708540 KBytes
Program aborted at tick 3777287772000
--- BEGIN LIBC BACKTRACE ---
./build/X86/gem5.opt(+0x18c76d0)[0x55e6842006d0]
./build/X86/gem5.opt(+0x18ebaec)[0x55e684224aec]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7fde9ce42520]
/lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7fde9ce96a7c]
/lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7fde9ce42476]
/lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7fde9ce287f3]
./build/X86/gem5.opt(+0x43b395)[0x55e682d74395]
./build/X86/gem5.opt(+0x12389ad)[0x55e683b719ad]
./build/X86/gem5.opt(+0x11ae404)[0x55e683ae7404]
./build/X86/gem5.opt(+0x131c1bd)[0x55e683c551bd]
./build/X86/gem5.opt(+0x1303f96)[0x55e683c3cf96]
./build/X86/gem5.opt(+0x11afb05)[0x55e683ae8b05]
./build/X86/gem5.opt(+0x1324913)[0x55e683c5d913]
./build/X86/gem5.opt(+0x131d464)[0x55e683c56464]
./build/X86/gem5.opt(+0x1304042)[0x55e683c3d042]
./build/X86/gem5.opt(+0x11afb05)[0x55e683ae8b05]
./build/X86/gem5.opt(+0x1324913)[0x55e683c5d913]
./build/X86/gem5.opt(+0x131d464)[0x55e683c56464]
./build/X86/gem5.opt(+0x1304042)[0x55e683c3d042]
./build/X86/gem5.opt(+0x5cfbce)[0x55e682f08bce]
./build/X86/gem5.opt(+0x5f02c5)[0x55e682f292c5]
./build/X86/gem5.opt(+0xd04b7b)[0x55e68363db7b]
./build/X86/gem5.opt(+0xd3dd08)[0x55e683676d08]
./build/X86/gem5.opt(+0x5ce4cd)[0x55e682f074cd]
./build/X86/gem5.opt(+0x18db7d2)[0x55e6842147d2]
./build/X86/gem5.opt(+0x1904598)[0x55e68423d598]
./build/X86/gem5.opt(+0x1904b83)[0x55e68423db83]
./build/X86/gem5.opt(+0x8868f0)[0x55e6831bf8f0]
./build/X86/gem5.opt(+0x452322)[0x55e682d8b322]
/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x12b6d3)[0x7fde9df2b6d3]
/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c)[0x7fde9dee722c]
/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b26)[0x7fde9de76766]
--- END LIBC BACKTRACE ---

On Mon, Jul 10, 2023 at 3:52 PM Aaron Vose avose@maxlinear.com wrote:

Seems like your output was cut off? I don’t see the error message or the
full command, it seems.

Cheers,

~Aaron Vose

From: John Smith via gem5-users gem5-users@gem5.org
Sent: Monday, July 10, 2023 3:48 PM
To: gem5-users@gem5.org
Cc: John Smith johnsmith20013500@gmail.com
Subject: [gem5-users] Error: snoop filter exceeded capacity

This email was sent from outside of MaxLinear.

Hi everyone,

I'm facing the below error when running fs.py with the following
configurations:

./build/X86/gem5.opt ./configs/example/fs.py  --cpu-clock=1GHz
-n 8   
--mem-size=16GB 
--caches --l2cache --l3cache

--num-l2caches=8
--num-l3caches=1
--l1d_size=32kB
--l1i_size=32kB --l2_size=512kB --l3_size=4MB
--l1d_assoc=8 --l1i_assoc=8
--l2_assoc=8 --l3_assoc=64
--cacheline_size=64 \

It would be great if someone could help me point out what exactly the
problem is here. I tried running it with -n 4 as well but I'm still facing
the same problem.

--

Regards,

John Smith

I'm sorry. Here's the error message I got: build/X86/mem/snoop_filter.cc:197: panic: panic condition !is_hit && (cachedLocations.size() >= maxEntryCount) occurred: snoop filter exceeded capacity of 131072 cache blocks Memory Usage: 17708540 KBytes Program aborted at tick 3777287772000 --- BEGIN LIBC BACKTRACE --- ./build/X86/gem5.opt(+0x18c76d0)[0x55e6842006d0] ./build/X86/gem5.opt(+0x18ebaec)[0x55e684224aec] /lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7fde9ce42520] /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7fde9ce96a7c] /lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7fde9ce42476] /lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7fde9ce287f3] ./build/X86/gem5.opt(+0x43b395)[0x55e682d74395] ./build/X86/gem5.opt(+0x12389ad)[0x55e683b719ad] ./build/X86/gem5.opt(+0x11ae404)[0x55e683ae7404] ./build/X86/gem5.opt(+0x131c1bd)[0x55e683c551bd] ./build/X86/gem5.opt(+0x1303f96)[0x55e683c3cf96] ./build/X86/gem5.opt(+0x11afb05)[0x55e683ae8b05] ./build/X86/gem5.opt(+0x1324913)[0x55e683c5d913] ./build/X86/gem5.opt(+0x131d464)[0x55e683c56464] ./build/X86/gem5.opt(+0x1304042)[0x55e683c3d042] ./build/X86/gem5.opt(+0x11afb05)[0x55e683ae8b05] ./build/X86/gem5.opt(+0x1324913)[0x55e683c5d913] ./build/X86/gem5.opt(+0x131d464)[0x55e683c56464] ./build/X86/gem5.opt(+0x1304042)[0x55e683c3d042] ./build/X86/gem5.opt(+0x5cfbce)[0x55e682f08bce] ./build/X86/gem5.opt(+0x5f02c5)[0x55e682f292c5] ./build/X86/gem5.opt(+0xd04b7b)[0x55e68363db7b] ./build/X86/gem5.opt(+0xd3dd08)[0x55e683676d08] ./build/X86/gem5.opt(+0x5ce4cd)[0x55e682f074cd] ./build/X86/gem5.opt(+0x18db7d2)[0x55e6842147d2] ./build/X86/gem5.opt(+0x1904598)[0x55e68423d598] ./build/X86/gem5.opt(+0x1904b83)[0x55e68423db83] ./build/X86/gem5.opt(+0x8868f0)[0x55e6831bf8f0] ./build/X86/gem5.opt(+0x452322)[0x55e682d8b322] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x12b6d3)[0x7fde9df2b6d3] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_Call+0x5c)[0x7fde9dee722c] /lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x4b26)[0x7fde9de76766] --- END LIBC BACKTRACE --- On Mon, Jul 10, 2023 at 3:52 PM Aaron Vose <avose@maxlinear.com> wrote: > Seems like your output was cut off? I don’t see the error message or the > full command, it seems. > > > > Cheers, > > ~Aaron Vose > > > > *From:* John Smith via gem5-users <gem5-users@gem5.org> > *Sent:* Monday, July 10, 2023 3:48 PM > *To:* gem5-users@gem5.org > *Cc:* John Smith <johnsmith20013500@gmail.com> > *Subject:* [gem5-users] Error: snoop filter exceeded capacity > > > > *This email was sent from outside of MaxLinear.* > > > > Hi everyone, > > I'm facing the below error when running fs.py with the following > configurations: > > > > ./build/X86/gem5.opt ./configs/example/fs.py --cpu-clock=1GHz \ > -n 8 \ > --mem-size=16GB \ > --caches --l2cache --l3cache > \ > --num-l2caches=8 > --num-l3caches=1 \ > --l1d_size=32kB > --l1i_size=32kB --l2_size=512kB --l3_size=4MB \ > --l1d_assoc=8 --l1i_assoc=8 > --l2_assoc=8 --l3_assoc=64 \ > --cacheline_size=64 \ > > > > It would be great if someone could help me point out what exactly the > problem is here. I tried running it with -n 4 as well but I'm still facing > the same problem. > > > > -- > > Regards, > > John Smith >
EM
Eliot Moss
Mon, Jul 10, 2023 8:54 PM

On 7/10/2023 3:59 PM, John Smith via gem5-users wrote:

I'm sorry. Here's the error message I got:

build/X86/mem/snoop_filter.cc:197: panic: panic condition !is_hit && (cachedLocations.size() >=
maxEntryCount) occurred: snoop filter exceeded capacity of 131072 cache blocks

That snoop filter capacity should be enough for 8MB of data (131072 * 64).
While I don't personally use snoop filters (you can just turn that component
off), if you want to use them then maybe increase the size, e.g., double it.
You can add something like this on the command line:

--param system.membus.snoop_filter.max_capacity="16MiB"

that is, enough capacity to deal with 16 MB of cache storage below.  I would
hope you should not need to do this for each tol2bus ...

Of course you can also modify the python code that sets up the system,
but the command line approach may be easier for you.

To turn off snoop filters, do:

--param system.membus.snoop_filter=Null

However, snoop filters offer a possible performance benefit.  (I am not sure
how realistic they are in practice, however - maybe someone else can answer
that.)

Best - EM

On 7/10/2023 3:59 PM, John Smith via gem5-users wrote: > I'm sorry. Here's the error message I got: > > build/X86/mem/snoop_filter.cc:197: panic: panic condition !is_hit && (cachedLocations.size() >= > maxEntryCount) occurred: snoop filter exceeded capacity of 131072 cache blocks That snoop filter capacity should be enough for 8MB of data (131072 * 64). While I don't personally use snoop filters (you can just turn that component off), if you want to use them then maybe increase the size, e.g., double it. You can add something like this on the command line: --param system.membus.snoop_filter.max_capacity="16MiB" that is, enough capacity to deal with 16 MB of cache storage below. I would hope you should not need to do this for each tol2bus ... Of course you can also modify the python code that sets up the system, but the command line approach may be easier for you. To turn off snoop filters, do: --param system.membus.snoop_filter=Null However, snoop filters offer a possible performance benefit. (I am not sure how realistic they are in practice, however - maybe someone else can answer that.) Best - EM