Il est difficile d'isoler le CPU, je sais, mais les erreurs que je vois suggèrent que c'est le problème.
Ce n'est certainement pas un problème matériel défectueux / cassé . J'ai utilisé Windows 10 toute la journée au cours des derniers jours et cette chose est rapide! Pas de plantage. Plus important encore, j'ai exécuté le vérificateur de mémoire Windows. La mémoire est bonne.
spécifications de la machine
La machine est un tout nouveau Lenovo Yoga 710 15 "
x64
Intel i7-6500 CPU @ 2.50 GHz, 2601 Mhz, 2 Cores, 4 Logical Processors
SMBIOS Version 2.8
BIOS Mode UEFI
16.0 GB DDR4 Ram
256 MB SSD
isolement vers le noyau linux (?)
J'ai vu les mêmes problèmes sur les deux
- archlinux-2016.08.01-dual.iso
- ubuntu-gnome-16.04.1-desktop-amd64.iso
Pour Arch - le problème n'apparaissait que de manière intermittente au démarrage à partir de la clé USB. J'ai réussi à installer Arch sur une partition ext4 de 100 Go sur le disque. Cette installation a le même problème par intermittence (comme 90% du temps) lors du démarrage. Si je réussis le démarrage, le problème apparaît au hasard après les deux premières commandes de terminal que j'exécute, provoquant finalement un blocage complet.
Pour Ubuntu - la clé USB ne démarre même pas. Je suis immédiatement arrêté par ces mêmes erreurs. Impasse...
Tant d'erreurs ...
Le journal est rempli d'erreurs liées à la mémoire chaque fois que cela se produit, mais les erreurs clés que je vois sont les suivantes:
General protection fault 0000[#1] PREEMPT SMP
RIP kmem_cache_alloc
RIP kmem_cache_alloc_trace
J'ai vu plusieurs fois la même trace de pile pour ces erreurs:
rbt_memtype_copy_nth_element
on_each_cpu
flusH_tbl_kernel_range
__purge_umap_area_lazy
um_unmam_aliases
change_page_attr_set_clr
set_memory_ro
frob_text.isra
module_enable_ro
kobject_create
kobject_create_and_add
load_module
__symbol_put
kernel_read
sys_finit_module
entry_SYSCALL_64_fastpath
kmem_cache_alloc_trace
allocate_cgrp_cset_links
...
sys_write
entry_SYSCALL-64_fastpath
Linux continue également de promettre qu'il résout le problème
Correction d'une erreur récursive mais un redémarrage est nécessaire!
Je souhaite que..
intel ucode
J'ai également essayé d'installer le intel-ucode
package dans mon installation Arch. J'ai vu dans les dmesg
journaux que les microcodes ont été mis à jour, mais cela n'a malheureusement pas résolu mon problème.
Quel pourrait être le problème? Comment y remédier?
ÉDITER
Remarque additionnelle.
Les messages de défaut de protection générale et les messages de type «verrouillé détecté» font généralement référence à une CPU. Je l' ai vu CPU0
, CPU1
, CPU2
et CPU3
dans ces messages. Il semble que quelque chose empêche les CPU de s'entendre, comme s'ils étaient tous dans une impasse essayant d'effacer la mémoire cache ou quelque chose.
EDIT2
BIOS mentionné par erreur
Je vois cette information dans certaines erreurs:
LENOVO 80U01LENOVO YOGA710-1 BIOS OGCN20WW(v1.04) 6/30/2016
Je ne sais pas si cela est utile à un pro pour comprendre le problème ...
EDIT3
maxcpus = 1
Je cherchais des options de débogage dans la documentation des paramètres du noyau et j'ai trouvémaxcpus
Si je mets max cpu à 1, le problème disparaît. Il semblerait donc que le problème soit une sorte de violation de la mémoire cache partagée.
EDIT3
maxcpus = 1 + Gnome = à nouveau cassé
Bien que cela maxcpus=1
semble faire fonctionner le système avec seulement 1 CPU, j'ai installé gnome puis j'ai exécutésystemctl enable gdm.service
Maintenant, quand je redémarre, je récupère toutes mes erreurs, mais cette fois elles se produisent toutes sur CPU0
Il semble donc que quelque chose provoque toujours une violation de mémoire, même avec le 1 processeur.
EDIT4
nolapic
Donc, l'utilisation nolapic
semble tout faire "fonctionner"
MAIS en utilisant nolapic
, je désactive efficacement mon autre CPU et tout le multithreading dans le 1 CPU fonctionnel.
J'essaie de l'utiliser pour OpenMP, et après avoir démarré avec nolapic
, OpenMP et le noyau linux ne peuvent trouver qu'un seul thread, 1 CPU. Ça craint!
J'ai aussi essayé intel_idle.max_cstate=0
et 1
, 2
etc. Mais cela ne résout pas le problème de démarrage.
Quoi d'autre pourrait empêcher le noyau d'utiliser ma machine multicœur?
la source
nomodeset
etnouveau.mode=0
- je ne sais pas si c'est similaire)maxcpus
j'ai trouvé - je l'ai mis à 1 et le problème disparaît ... Mais maintenant je ne peux utiliser qu'un seul processeur? :(nomodeset nouveau.modeset=0
ensemble et si cela ne fonctionne pas, essayeznomodeset i915.modeset=0 nouveau.modeset=0
Réponses:
Il s'avère que le problème était
i2c_hid
Cela semble être une sorte de pilote du pavé tactile. Pour une raison quelconque, lorsque je le désactive, je peux toujours utiliser mon pavé tactile. Il se peut que l'écran tactile de l'ordinateur portable utilise également ce pilote, car cela ne fonctionne pas.
Je n'aime pas monter mon écran d'ordinateur portable avec des empreintes digitales, de toute façon ... Alors au revoir
i2c_hid
!Je l'ai corrigé en ajoutant ceci aux paramètres du noyau:
modprobe.blacklist=i2c_hid
Bien qu'il ait
nolapic
également fonctionné, il a désactivé tous les cœurs sauf un dans les processeurs.Je recommande fortement à quiconque de ne pas l'utiliser
apci=off
ounolapic
pour cette raison.L'utilisation de ces options est une arme nucléaire qui pourrait faire fonctionner votre machine, mais vous perdrez beaucoup de performances et / ou de périphériques d'E / S en tant que dommages collatéraux. C'est un bon point de départ pour démarrer, puis vous pouvez parcourir journaltl comme je l'ai fait pour analyser les bottes qui échouent.
Bonne chance à ceux qui trouvent ça.
la source
hid_sensor_hub
est suffisante et l'écran tactile est également utilisable (voir ma réponse ci-dessous pour plus de détails).Toutes ces erreurs ressemblent à celles que j'ai vues avec de mauvais modules du noyau.
Il y a quelqu'un sur ubuntuforums qui a prétendu avoir ubuntu pour démarrer sur un 710-14ISK en désactivant acpi (ajouter
acpi=off
aux options du noyau). https://ubuntuforums.org/showthread.php?t=2329448Un autre client sur les forums de lenovo a déclaré qu'il avait eu du mal à démarrer Fedora 24 et avait retracé le problème à un morceau de firmware Broadcom: https://forums.lenovo.com/t5/Linux-Discussion/Yoga-710-How-to-install-Linux / td-p / 3361544
Essayez de mettre sur liste noire les modules Broadcom et Nouveau (laissez-les non réclamés) et démarrez avec acpi désactivé. J'avais des journaux similaires quand j'avais un module ralink mal comporté dans un vieil acer: la liste noire du module m'a permis de démarrer et a arrêté les paniques du noyau, mais m'a laissé sans wifi.
PS. Je mettrais tout cela dans un commentaire, mais je n'ai pas assez de réputation pour commenter (désolé).
la source
acpi=off
fait disparaître l'erreur, mais cela désactive également mon clavier. Il semble qu'il y ait plus d'options granulaires avec acpi, donc je vais voir si je peux arrêter les erreurs, tout en gardant mon clavier :)acpi=ht
abord. help.ubuntu.com/community/BootOptions (regardez sous Common Kernel Options) ou pour une liste plus complète: kernel.org/doc/Documentation/kernel-parameters.txtnolapic
travaillé pour moi et je suis capable de démarrer, mais je ne peux alors accéder qu'à l'un de mes CPU. J'essaie d'utiliser cet ordinateur portable pour développer des programmes OpenMP, donc avoir un seul processeur ne fonctionne pas. Il semble qu'il y ait juste quelque chose de terriblement mauvais dans la façon dont le noyau essaie d'utiliser mes multiples processeurs. Le fait que lenolapic
"correctif" ne démarre que par coïncidence du fait qu'il limite le noyau à 1 CPUJ'ai rencontré des problèmes similaires avec les noyaux récents (4.7.x à 4.8.2) sur mon yoga710 avec i5-6200U. La désactivation d'i2c_h2d fonctionne pour moi. J'ai également constaté que linux-lts (actuellement 4.4.25) semble bien fonctionner, y compris le pavé tactile et l'écran tactile.
Edit: en expérimentant le code du pilote, j'ai trouvé que cela était en effet causé par le
hid_sensor_hub
pilote, donc la liste noire résout le problème et l'écran tactile est également utilisable. La désactiver à coup sûr rend les capteurs (tels que l'accéléromètre) non reconnus. J'ai essayé de réparer le pilote; mais je n'ai pas encore trouvé de moyen.la source
Vous avez besoin d'un noyau Linux de la version 4.4 ou ultérieure pour le support de Skylake. Consultez le lien suivant sur le wiki Arch Linux. https://wiki.archlinux.org/index.php/intel_graphics#Skylake_support
la source