Пространство имен должно быть зарегистрировано:
doc.xpath('//dms:ComplexResponse', 'dms' => 'http://dmsmanagerservice').first.attributes['ErrorCode'].value
sched_setaffinity()
simply tells the scheduler which CPUs is that process/thread allowed to run on, then calls for a re-schedule.
The scheduler actually runs on each one of the CPUs, so it gets a chance to decide what task to execute next on that particular CPU.
If you're interested in how you can actually call some code on other CPUs, I suggest you take a look at smp_call_function_single()
. In case we want to call something on another CPU, this calls generic_exec_single()
. The latter simply adds the function to the target CPU's call queue and forces a reschedule through some IPI stuff (if the queue was empty).
Bottom line is: there no actual SMP variant of the _jmp_
instruction. Instead, code running on other CPUs cooperates in order to accomplish the task.
Я думаю, что вы не понимаете, что ядро работает на всех CPU сердечники. При каждом прерывании таймера (~ 1000 в секунду) планировщик запускается на каждом процессоре и выбирает процесс для запуска. Нет ни одного процессора, который каким-то образом велел бы другим запускать процесс. sched_setaffinity ()
работает, просто устанавливая флаги для процесса. Планировщик считывает эти флаги и не будет запускать этот процесс на своем ЦП, если он не установлен.
Где в коде сборки мы указываем, какое ядро выполняет эту операцию?
Сборка не задействована Вот. Каждая задача (поток) назначается одному процессору (или ядру в ваших терминах) одновременно. Чтобы остановить работу на одном процессоре и продолжить на другом, задача должна « перенести » (также это ). Когда задача мигрирует из одного ЦП в другой, планировщик выбирает ЦП, который более простаивает среди ЦП, разрешенных sched_setaffinity ()
.
Не было выдано никаких волшебных инструкций по сборке , Ядро имеет более низкоуровневое представление об оборудовании, каждый ЦП представляет собой отдельный объект, очень отличающийся от того, как он выглядит для процессов пользовательского пространства (в пользовательском пространстве ЦП практически невидимы).
Проверьте это: B Рекомендации по программированию операционной системы