[svn r58108] A hyperthreaded cpu core should only count as 1, although it is present as 2
entries in /proc/cpuinfo. Counting it as 2 is misleading because it is *by far* not as efficient as two independent cores. --HG-- branch : trunk
This commit is contained in:
		
							parent
							
								
									bb9b0e7361
								
							
						
					
					
						commit
						2a706fc8ae
					
				|  | @ -65,18 +65,26 @@ class RemoteInfo: | |||
| 
 | ||||
|     def getcpuinfo(self): | ||||
|         if self.islinux(): | ||||
|             return self.exreceive("""  | ||||
|                 numcpus = 0 | ||||
|                 model = None | ||||
|                 for line in open("/proc/cpuinfo"): | ||||
|                     if not line.strip():  | ||||
|                         continue | ||||
|                     key, value = line.split(":") | ||||
|                     key = key.strip() | ||||
|                     if key == "processor": | ||||
|                         numcpus += 1 | ||||
|                     elif key == "model name": | ||||
|                         model = value.strip() | ||||
|             return self.exreceive(""" | ||||
|                 # a hyperthreaded cpu core only counts as 1, although it | ||||
|                 # is present as 2 in /proc/cpuinfo.  Counting it as 2 is | ||||
|                 # misleading because it is *by far* not as efficient as | ||||
|                 # two independent cores. | ||||
|                 cpus = {} | ||||
|                 cpuinfo = {} | ||||
|                 f = open("/proc/cpuinfo") | ||||
|                 lines = f.readlines() | ||||
|                 f.close() | ||||
|                 for line in lines + ['']: | ||||
|                     if line.strip(): | ||||
|                         key, value = line.split(":", 1) | ||||
|                         cpuinfo[key.strip()] = value.strip() | ||||
|                     else: | ||||
|                         corekey = (cpuinfo.get("physical id"), | ||||
|                                    cpuinfo.get("core id")) | ||||
|                         cpus[corekey] = 1 | ||||
|                 numcpus = len(cpus) | ||||
|                 model = cpuinfo.get("model name") | ||||
|                 channel.send((numcpus, model)) | ||||
|             """) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue