I would like to tell myself: Ok, so, in 1second, my computer can access 2.000 memory cells (relatively, because there is the "inc" instruction time spent, for counting). I'm using a AMD Athlon 64 X2 L310 (1.2ghz). It would not be a easy task (for me) to develop, because I'm not a Assembly profissional programmer, and I'm not a young man who have much time to develop all utils those I would like to create. It would not be easy, too, because it will be necessary (I think/believe) to set paging (x86) mechanism, enabling long mode, ... ...Well, if not, it will be easier. I'm imaginating a very simple program!! But if someone wants to create (doesn't want to wait me), ... my tip is: "So my Friend: Let's go! Do it!"! Regards. Peace out. 2012/12/11 Lukáš Oliva <olivalukas@gmail.com>
Just for my curiosity, how do you plan to use the results? Also, which processors do you intend to test (NUMA too)?
Lukas
2012/12/10 Gustavo da Silva <gustavodasilva@gmail.com>:
Very interesting!! Both the link and the movntq instruction. I'll read and study.
Thanks Tobias!!
2012/12/8 Tobias Boege <tobias@gambas-buch.de>
On Sat, 08 Dec 2012, Gustavo da Silva wrote:
Hello Kernel Brothers!! How are you???
So, I would like test the performance of my notebook, developing one
or
two utilities, and have a better mensurement about the speed.
But it can help all of us.
1st: I would like mensure the speed making a counter (exacly bogomips? may be). Loop+counter during 1 tickrate. 2nd: The most interesting: How many memory cells in ram can we access during 1tickrate? How could we develop this?!
Both utils may run in long mode (64bits). Well, in real mode too; so, we can compare the speed in the two modes!
Some one knows how to develop a very small program/routine about that?!
For the 2nd situation, a simple idea wrote in codesnipet form (consider the intention, not the sintax! there are bugs! I know. Intel syntax.)
Obviously! ;-)
dw the_counter_cell 0 lea bx, the_counter_cell xor bx,bx label: inc [bx] # Could not be so simple like this, because the address can be cached. Right? loop label # breaked by an interruption. Just to express the intention.
How could we create a small code for the 2nd situation, tring to force the processor to not use the cache?
As Drepper says[0], use the movntq instruction on x86_64 to bypass the cache.
Regards, Tobi
[0] http://www.akkadia.org/drepper/cpumemory.pdf p. 47ff.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Atenciosamente,
Gustavo da Silva gustavodasilva@gmail.com
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Atenciosamente, Gustavo da Silva gustavodasilva@gmail.com
On Tue, 11 Dec 2012, Gustavo da Silva wrote:
I would like to tell myself: Ok, so, in 1second, my computer can access 2.000 memory cells (relatively, because there is the "inc" instruction time spent, for counting).
I'm using a AMD Athlon 64 X2 L310 (1.2ghz).
It would not be a easy task (for me) to develop, because I'm not a Assembly profissional programmer, and I'm not a young man who have much time to develop all utils those I would like to create.
It would not be easy, too, because it will be necessary (I think/believe) to set paging (x86) mechanism, enabling long mode, ... ...Well, if not, it will be easier.
I'm imaginating a very simple program!! But if someone wants to create (doesn't want to wait me), ... my tip is: "So my Friend: Let's go! Do it!"!
In case I didn't understand properly: what do you want to do, now? You said you wanted to speed-test your machine long and in real mode. You seem to have done the test under Linux already. You were in long mode when running Linux. Why do you want to go to long mode manually then? What's left is real mode and there are quite few things easier than running some code in real mode. If there's a specific reason, indeed, to go to long mode by hand, you may also use Pure64[0] to boot into your long mode and execute code then. Regards, Tobi [0] http://www.returninfinity.com/pure64.html
Well, I didn't do the tests, yet. Of course, if I compile the speed-test util and load as a kernel module, it will run in long mode. At this moment, there is no reason to run in real mode. After the answer about the speed in long mode, maybe port the util to real mode. What issues & concerns will I have to develop, even as kernel module?! I would like to get the information about how many memory cells can my program access in 1 second. For example about a issue/concern: How to interrupt the counter after 1 second of execution, if I (intend) will stop preemption & interruptions?! 2012/12/11 Tobias Boege <tobias@gambas-buch.de>
On Tue, 11 Dec 2012, Gustavo da Silva wrote:
I would like to tell myself: Ok, so, in 1second, my computer can access 2.000 memory cells (relatively, because there is the "inc" instruction time spent, for counting).
I'm using a AMD Athlon 64 X2 L310 (1.2ghz).
It would not be a easy task (for me) to develop, because I'm not a Assembly profissional programmer, and I'm not a young man who have much time to develop all utils those I would like to create.
It would not be easy, too, because it will be necessary (I think/believe) to set paging (x86) mechanism, enabling long mode, ... ...Well, if not, it will be easier.
I'm imaginating a very simple program!! But if someone wants to create (doesn't want to wait me), ... my tip is: "So my Friend: Let's go! Do it!"!
In case I didn't understand properly: what do you want to do, now? You said you wanted to speed-test your machine long and in real mode.
You seem to have done the test under Linux already. You were in long mode when running Linux. Why do you want to go to long mode manually then?
What's left is real mode and there are quite few things easier than running some code in real mode.
If there's a specific reason, indeed, to go to long mode by hand, you may also use Pure64[0] to boot into your long mode and execute code then.
Regards, Tobi
[0] http://www.returninfinity.com/pure64.html
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-- Atenciosamente, Gustavo da Silva gustavodasilva@gmail.com
participants (2)
-
Gustavo da Silva -
Tobias Boege