[m5-users] DRAMMemory Stats question
Hi, Got a quick question about the stats package. Is the DRAM stats turned off by default in m5? I saw in src/mem/dram.hh files, there are stats such as Stats::Vector accesses; Stats::Vector bytesRequested; Stats::Vector bytesSent; Stats::Vector compressedAccesses; In the dram.cc files, the formulas to calculate them are not there. Is it true the m5 simply don't dump dram stats at all? Where is the switch to turn the DRAM statistics reporting on. Or it is because dram.cc stats implementation is not complete? thanks for the help in advance. john ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
Re: [m5-users] Question about the ROB
Hey Korey, Thanks for the help! I'm getting the data I need so far, but I need to make it more accurate. Specifically, in the commit code, when an instruction is ready to commit, how can I tell whether (if it was a mem-op) it had an L2 miss or not? Thanks, Felix Quoting Korey Sewell ksew...@umich.edu: I was wondering, in the case of the O3 cpu model, is there a way to calculate the number of cycles an instruction spends in stalls at the head of the ROB? For the most part, if there isnt a statistic available that you see from the stats file then it's something you need to calculate yourself off of current stats or something you need to get your hands dirty on add some code to get the data you need. So, 1st, check the current stat outputs and see what commit stage and ROB stats are given. Then, if you have to do your own thing, your going to have to figure out specifically of what stat you need to generate because currently its a bit ambigous: - Do you want an average cycles per instruction for the ROB? ( - Do you want the total cycles? - Do you want some fraction of cycles in the ROB before commit? - etc. etc. Check the m5sim.org page for some light documentation on Stats types (averages, distributions, formulas, etc.) that can help you to start and then there are plenty of examples in the code. If you've tried something and need a hint or two to figure out a problem, the m5-dev list can be a pretty good community. There is already flags per instruction that tell you where it is in the pipeline (cpu/dyn_inst.hh I believe), so you can say someting like inst-isInRob() or something like that to verify. maybe you can add something to keep track of the cycle that an instruction enters the ROB and then when an instruction commits, you can use that info to generate whatever stat you need... (rob_impl.hh, and commit_impl.hh will be relevant files I would think) Also, for the simple cpu model, is there a ROB? I would think that it doesn't, but I just want to make sure. Nope. Nothing simple about out of order execution :) -- - Korey ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
Re: [m5-users] M5 Compilation Error: 'uint64_t' does not name a type, [build/ALPHA_SE/base/bigint.fo] Error 1
Hi Nate, Thanks very much for the quick reply. I'll switch to 64-bit. I'm surprised this hasn't been a problem for Windows users, as I expect the majority are still running 32-bit XP due to lack of 64-bit device driver support. Cheers, David Date: Thu, 5 Nov 2009 08:48:25 -0800 From: nathan binkert n...@binkert.org Subject: Re: [m5-users] M5 Compilation Error: 'uint64_t' does not name a type, [build/ALPHA_SE/base/bigint.fo] Error 1 To: M5 users mailing list m5-users@m5sim.org Message-ID: 217accd40911050848q9e32827v52713ce7d5072...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Right now, M5 doesn't work on 32-bit systems. Very few people use them anymore and unfortunately, we haven't kept things working. I have a couple of patches waiting for OK from gabe to fix the compile problems, but there are regressions that fail. As for Karmic Koala itself, I pushed changes yesterday that fix the compile errors with it. Unfortunately, you're going to have to get a 64-bit system to run M5 without doing some debugging first. Nate I am receiving an error compiling M5. ?I have recent versions of all necessary tools, and have the same problem both after checking out from the repository and using a tarball. Error message is below. I'm using Ubuntu Linux 9.10 Karmic Koala, 32-bit. Any idea what the problem is? Thanks, David In file included from build/ALPHA_SE/base/bigint.cc:31: build/ALPHA_SE/base/bigint.hh:39: error: 'uint64_t' does not name a type build/ALPHA_SE/base/bigint.hh:40: error: 'uint64_t' does not name a type build/ALPHA_SE/base/bigint.hh:43: error: ISO C++ forbids declaration of 'uint64_t' with no type build/ALPHA_SE/base/bigint.hh:43: error: expected ',' or '...' before 'x' build/ALPHA_SE/base/bigint.hh:48: error: ISO C++ forbids declaration of 'uint64_t' with no type build/ALPHA_SE/base/bigint.hh:48: error: expected ',' or '...' before 'x' build/ALPHA_SE/base/bigint.hh:55: error: expected type-specifier before 'uint64_t' build/ALPHA_SE/base/bigint.hh: In constructor 'm5_twin64_t::m5_twin64_t(int)': build/ALPHA_SE/base/bigint.hh:45: error: 'a' was not declared in this scope build/ALPHA_SE/base/bigint.hh:45: error: 'x' was not declared in this scope build/ALPHA_SE/base/bigint.hh:46: error: 'b' was not declared in this scope build/ALPHA_SE/base/bigint.hh: In member function 'm5_twin64_t m5_twin64_t::operator=(int)': build/ALPHA_SE/base/bigint.hh:50: error: 'a' was not declared in this scope build/ALPHA_SE/base/bigint.hh:50: error: 'x' was not declared in this scope build/ALPHA_SE/base/bigint.hh:51: error: 'b' was not declared in this scope build/ALPHA_SE/base/bigint.hh: At global scope: build/ALPHA_SE/base/bigint.hh:63: error: 'uint32_t' does not name a type build/ALPHA_SE/base/bigint.hh:64: error: 'uint32_t' does not name a type build/ALPHA_SE/base/bigint.hh:67: error: ISO C++ forbids declaration of 'uint32_t' with no type build/ALPHA_SE/base/bigint.hh:67: error: expected ',' or '...' before 'x' build/ALPHA_SE/base/bigint.hh:72: error: ISO C++ forbids declaration of 'uint32_t' with no type build/ALPHA_SE/base/bigint.hh:72: error: expected ',' or '...' before 'x' build/ALPHA_SE/base/bigint.hh:79: error: expected type-specifier before 'uint32_t' build/ALPHA_SE/base/bigint.hh: In constructor 'm5_twin32_t::m5_twin32_t(int)': build/ALPHA_SE/base/bigint.hh:69: error: 'a' was not declared in this scope build/ALPHA_SE/base/bigint.hh:69: error: 'x' was not declared in this scope build/ALPHA_SE/base/bigint.hh:70: error: 'b' was not declared in this scope build/ALPHA_SE/base/bigint.hh: In member function 'm5_twin32_t m5_twin32_t::operator=(int)': build/ALPHA_SE/base/bigint.hh:74: error: 'a' was not declared in this scope build/ALPHA_SE/base/bigint.hh:74: error: 'x' was not declared in this scope build/ALPHA_SE/base/bigint.hh:75: error: 'b' was not declared in this scope build/ALPHA_SE/base/bigint.cc: In function 'std::ostream operator(std::ostream, const Twin64_t)': build/ALPHA_SE/base/bigint.cc:39: error: 'const struct m5_twin64_t' has no member named 'a' build/ALPHA_SE/base/bigint.cc:39: error: 'const struct m5_twin64_t' has no member named 'b' build/ALPHA_SE/base/bigint.cc: In function 'std::ostream operator(std::ostream, const Twin32_t)': build/ALPHA_SE/base/bigint.cc:45: error: 'const struct m5_twin32_t' has no member named 'a' build/ALPHA_SE/base/bigint.cc:45: error: 'const struct m5_twin32_t' has no member named 'b' scons: *** [build/ALPHA_SE/base/bigint.fo] Error 1 scons: building terminated because of errors. ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users -- ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users End of m5-users Digest, Vol 40, Issue 9
Re: [m5-users] Creating/Modifying disk images without sudo or root access
Excellent. Thanks guys. I'll give these a shot. Joel On Thu, Nov 5, 2009 at 12:27 AM, Will Beazley wgbeaz...@my.lamar.eduwrote: Consider the following: I believe you can install virtual box with its additions with ubuntu/solaris/opensolaris without being root or on a laptop. Copy it through your virtual box shared directory. Loop mount the image make you changes copy it back through the shared dir. Might work. Steve Reinhardt wrote: On Wed, Nov 4, 2009 at 8:24 PM, nathan binkert n...@binkert.org mailto:n...@binkert.org wrote: I seem to recall reading in the mailing list about how to create and modify disk images without having sudo or root access on a machine. I have searched through the archives, and I can't find anything about it. Is there a way to do this? Since nobody has responded, I will. You can create a disk image without root access using dd to create a file and run fdisk on that file. As for editing it, you can't mount it if you're not root. Maybe some people suggested using the simulator itself or using a virtual machine. If you can get a one-time assist from someone who is root, you could get them to put a line in /etc/fstab with the 'user' line set, maybe pointing to a symlink that you can point at the image you actually want to mount... I'm not positive this would work, but it's a thought. Steve ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users -- Joel Hestness PhD Student, Computer Architecture Dept. of Computer Science, University of Texas - Austin http://www.cs.utexas.edu/~hestness ___ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users