LINUX.ORG.RU

История изменений

Исправление ckotinko, (текущая версия) :

а вот теперь понятно что там такое произошло. спалил линус всю контору одним предложением.

A *competent* CPU engineer would fix this by making sure speculation
doesn't happen across protection domains. Maybe even a L1 I$ that is keyed by CPL.

линус в процах не понимает, но спалил знатно. а я то думал, зачем они анмапают таблицы для MMU. это же никак не связано.

короче, смотрите что происходит.

у вас есть инструкция, которую вы хотите выполнить в режиме ядра. но не можете. но вы можете сделать так, что она встанет в очередь за рядом каких нибудь долгих инструкций, а вы в это время быстро сделаете syscall. инструкция syscall изменит состояние проца, подняв CPL, а ваша инструкция еще ожидает операндов. но совсем скоро она их получит и выполнится уже с новым CPL.

Исходная версия ckotinko, :

а вот теперь понятно что там такое произошло. спалил линус всю контору одним предложением.

A *competent* CPU engineer would fix this by making sure speculation

doesn't happen across protection domains. Maybe even a L1 I$ that is keyed by CPL.

линус в процах не понимает, но спалил знатно. а я то думал, зачем они анмапают таблицы для MMU. это же никак не связано.

короче, смотрите что происходит.

у вас есть инструкция, которую вы хотите выполнить в режиме ядра. но не можете. но вы можете сделать так, что она встанет в очередь за рядом каких нибудь долгих инструкций, а вы в это время быстро сделаете syscall. инструкция syscall изменит состояние проца, подняв CPL, а ваша инструкция еще ожидает операндов. но совсем скоро она их получит и выполнится уже с новым CPL.