- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We are using Quad Core processors, and for certain beanchmark we would like to run our application in Dual Core. Due to some hardware dependency, we cannot run it on a dual core PC and we would like to disable 2 cores in the existing Quad Core. Does Intel provides any instruction set such as HALT from which we can disable 2 cores and revert it back with some other instruction sets.
PS: Our application is running on linux and we have our own customised kernel.
Thanks,
Prabhu
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also if I disable the multicore option from the BIOS, I still see 2 cores from /proc/cpuinfo. Does these two share the L2 or not?
Is there any simple way to tell which two pairs share caches in Linux?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A majority of the machines I have seen with Intel BIOS are set up so that there is no sharing of cache among the cores in the first half of the BIOS core number list. There are exceptions. It looks like you will have to puzzle out what your "disable multicore" BIOS option is doing, whether it is the same as booting linux with 2 processors enabled. dmesg may shed some light on it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The description in this article might be helpful to detect the topology of the core.
I've seen systems with funny core numberings like this:
+----+----+----+----+ +----+----+----+----+
Core | c0| c1| c2| c3| | c0| c1| c2| c3|
OScpu# | 0| 2| 3| 4| | 1| 5| 6| 7|
AffMsk | 1| 4| 8| 10| | 2| 20| 40| 80|
Cache | L1D| L1D| L1D| L1D| | L1D| L1D| L1D| L1D|
| L1I| L1I| L1I| L1I| | L1I| L1I| L1I| L1I|
+----+----+----+----+ +----+----+----+----+
| L2 | L2 | | L2 | L2 |
CmbMsk | 5 | 18 | | 22 | c0 |
+---------+---------+ +---------+---------+
I would therefore not rely on a specific numbering. A quick'n'dirty check to verify if two cores share a cache is to write a test program with false sharing and observe the performance difference when you pin it to two cores.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page