コード例 #1
0
 def int(value, _min, _max, scale=10):
     """ Well, it's tricky function writen by all the twitter """
     value = any2int(value)
     return min(
         scale,
         max(
             1,
             int(1 + round_((value - _min) * (scale - 1.) /
                            (_max - _min) + .001))))
コード例 #2
0
 def test_any2int(self):
     self.assertEqual(any2int(None), 0)
     self.assertEqual(any2int(23), 23)
     self.assertEqual(any2int(23.1), 23)
     self.assertEqual(any2int('23'), 23)
     self.assertEqual(any2int('23K'), 23)
     self.assertEqual(any2int('23 K'), 23)
     self.assertEqual(any2int(' '), 0)
コード例 #3
0
 def detect_layouts(self, lscpu_output=None):
     """ Determine NUMA and sockets layout """
     stdout = self.detect_layout_lscpu(lscpu_output)
     rows = [
         row for row in stdout.strip().split('\n')
         if not row.startswith('#')
     ]
     layouts = [[any2int(value) for value in row.split(',')][2:4]
                for row in rows]
     socket_layout, numa_layout = zip(*layouts)
     self.numa_layout = dict(enumerate(numa_layout))
     self.socket_layout = dict(enumerate(socket_layout))
コード例 #4
0
ファイル: rss_ladder.py プロジェクト: skystart/netutils-linux
 def __eval(self, postfix, interrupts):
     """
     :param postfix: '-TxRx-'
     :return: list of tuples(irq, queue_name, socket)
     """
     print_('- distribute interrupts of {0} ({1}) on socket {2}'.format(
         self.options.dev, postfix, self.options.socket))
     queue_regex = r'{0}{1}[^ \n]+'.format(self.options.dev, postfix)
     rss_cpus = self.rss_cpus_detect()
     for _ in xrange(self.options.offset):
         rss_cpus.pop()
     for line in interrupts:
         queue_name = re.findall(queue_regex, line)
         if queue_name:
             yield any2int(line.split()[0]), queue_name[0], rss_cpus.pop()