The processor variable is populated in one other method too before the bind_cpu is invoked. In this case it looks for other processes and binds to the the same processor:after call to bind cpu:WARNING:failed to bind process xxxxa0 PID 3720 +to processor SCALAR(0x15f1a8)(rcode 256) /usr/sbin/pbind: must specify at least one pid usage: /usr/sbin/pbind -b processor_id pid[/lwpids] ... /usr/sbin/pbind -U [processor_id] ... /usr/sbin/pbind -Q [processor_id] ... /usr/sbin/pbind -u pid[/lwpids] ... /usr/sbin/pbind [-q] [pid[/lwpids] ...]
sub get_cpu_used_by_other_process { my $other_mgr = shift; my $proc_id = locate__process_id( $other_mgr ); my $processor = undef; my $pid = undef; my @cmd_output = `$os_command_table{$^O}{pbind} -q 2>/dev/null +`; die "ERROR:failed to retrieve the bound processors\n" unless ( + $? == 0 ); ##### increase the weight of processors based on used or not # +#### foreach ( keys %{$proc_id} ) { $pid = $$proc_id{$_}; next unless defined $pid; foreach ( @cmd_output ) { $processor = $1, return \$processor if /proces +s\s+id\s+${pid}\s*:\s*(\d+) $/; } } } }
In reply to Re: converting from string to SCALAR when using strict "refs"
by usrlocal
in thread converting from string to SCALAR when using strict "refs"
by usrlocal
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |