Net/core/dev.c에 있는 커널 경고를 수정하기 위해 돌아가는 단계

net/core/dev.c에서 커널 노트를 발견했다면 이 블로그 게시물이 도움이 될 것입니다.

ASR Pro로 지금 컴퓨터를 수정하세요

  • 1단계: ASR Pro 다운로드
  • 2단계: 프로그램 실행
  • 3단계: "지금 검사"를 클릭하여 컴퓨터에서 바이러스를 찾아 제거합니다.
  • 지금 이 소프트웨어를 다운로드하여 컴퓨터를 최대한 활용하십시오.

    <제목>

    환경

    <문자열>

  • 레드햇 엔터프라이즈 리눅스 6.5
  • 커널-2.6.32-431.1.2.el6.x86_64
  • HP ProLiant DL580 G7 시스템.
  • netxen_nic 네트워크 카드 계정 모듈.
  • 네트워크 카드 모듈

  • ixgbe.
  • <제목>

    문제

    <문자열>

  • VMware 서비스가 clusvcadm -e Plato-VMWARE 명령을 사용하는 양호한 호스트에서 실행 중인 경우 기본 시스템이 유휴 상태가 되고 읽기 변형이 생성됩니다.
  • <예비><코드>19. 12월 11:37:46 HOSTNAME 코어: ————[여기서 잘라내기]————12월 29일 11:37:46 AM 코어 호스트 이름: 경고: online/core/dev.c:1907 skb_warn_bad_offload+0xc2/0xf0() (손상됨: G W ————— )12월 25일 11:37:46 HOSTNAME 코어: 하드웨어 이름: ProLiant DL580 G712월 19일 오전 11:37:46 코어 호스트 이름: netxen_nic: caps=(0x11c9b3, 0x0) len=146 data_len=0 ip_sumd=112월 19일 오전 11:37:46 AM HOSTNAME 코어: 관련 모듈: vmnet(U) ppdev parport_pc parport 뻣뻣한 vsock(U) vmci(U) vmmon(U) nfsd exportfs autofs4 gfs2 nfs app 잠금 d fscache auth_rpcgss nfs_acl config_fsprpu dlm ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 xt_recent ipt_LOG iptable_filter ip_tables에 ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables의 IPv6 dm_round_robin dm_multipath uinput 마이크로 iTCO_wdt iTCO_vendor_support power_meter lpc_ich mfd_core SG netxen_nic hpilo hpwdt i7core_edac edac_core shpchp ext4에 JBD2 mbcache sr_mod CDROM crc_t10dif sd_mod에서 qla2xxx scsi_transport_fc scsi_tgtpata_acpi ata_generic ata_piix HpSA 라데온 TTM drm_kms_helper DRM i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod [마지막 덤프: scsi_wait_scan]Dec 25 11:37:46 HOSTNAME Core: Pid: 0, Comm: Swapper Skin Tone: G W ————— 2.6.32-431.1.2.el6.x86_64 #112월 20일 오전 11:37:46 핵심 HOSTNAME: 통화 추적:12월 19일 11:37:46 HOSTNAME 코어: []? warn_slowpath_common+0x87/0xc012월 19일 오전 11:37:46 핵심 호스트 이름: []? warn_slowpath_fmt+0x46/0x5012월 29일 11:37:46 AM HOSTNAME 코어: []? netxen_nic_get_drvinfo+0xc0/0xf0 [netxen_nic]12월 18일 오전 11:37:46 핵심 호스트 이름: []? skb_warn_bad_offload+0xc2/0xf012월 19일 오전 11:37:46 코어 호스트 이름: []: __skb_gso_segment+0x71/0xc012월 19일 11:37:46 AM 핵심 호스트 이름: []? skb_gso_segment+0x13/0x2012월 19일 11:37:46 AM 핵심 호스트 이름: []? VNetBridgeSendLargePacket+0x1d/0x90 [vmnet]12월 25일 오전 11:37:46 핵심 호스트 이름: []? VNetBridgeReceiveFromDev+0x310/0x420 [vmnet]12월 19일 오전 11:37:46 핵심 호스트 이름: []. . . __netif_receive_skb+0x477/0x75012월 15일 오전 11:37:46 핵심 호스트 이름: []? netif_receive_skb+0x58/0x6012월 15일 11:37:46 AM 핵심 호스트 이름: []? netxen_process_rcv_ring+0x913/0xb00 [netxen_nic]12월 14일 오전 11:37:46 핵심 호스트 이름: []? ! ? netxen_process_cmd_ring+0x44/0x2a0 [netxen_nic]12월 30일 오전 11:37:46 핵심 호스트 이름: []! ! ? ? __wake_up+0x53/0x7012월 19일 11:37:46 AM HOSTNAME 코어: []? netxen_nic_poll+0x45/0xc0 [netxen_nic]12월 12일 오전 11:37:46 핵심 호스트 이름: []? Credit_entropy_bits+0x76/0xd012월 30일 오전 11시 37분 46초까지 핵심 호스트 이름: []! ? net_rx_action+0x103/0x2f012월 19일 오전 11:37:46 핵심 호스트 이름: []? add_timer_randomness+0x106/0x11012월 19일 11:37:46 AM 핵심 호스트 이름: []? ! ? __do_softirq+0xc1/0x1e012월 20일 오전 11:37:46 핵심 호스트 이름: []? 핸들_IRQ_event+0x92/0x17012월 22일 오전 11:37:46 핵심 호스트 이름: []? call_softirq+0x1c/0x3012월 20일 11:37:46 AM HOSTNAME 코어: []? do_softirq+0x65/0xa012월 19일 오전 11:37:46 코어 호스트 이름: [] irq_exit+0x85/0x9012월 19일 오전 11:37:46 핵심 호스트 이름: []? do_IRQ+0x75/0xf012월 19일 오전 11:37:46 핵심 호스트 이름: [] . ret_from_intr+0x0/0x1112월 19일 11:37:46 AM HOSTNAME 코어: []? poll_idle+0x41/0x8012월 16일 오전 11:37:46 핵심 호스트 이름: []? 20 poll_idle+0x13/0x8012월 11:37:46 커널 호스트 이름: []? cpuidle_idle_call+0xa7/0x14012월 20일 오전 11:37:46 핵심 호스트 이름: []? ; ? cpu_idle+0xb6/0x11012월 19일 오전 11:37:46 핵심 호스트 이름: []? start_secondary+0x2ac/0x2ef12월 19일 11:37:46 HOSTNAME 코어: —[ end trace 228c1f1e9ed1b9eb ]— <제목>

    해결책

    kernel Attention at net/core/dev.c

    LRO(Large Receive Offload) 및/또는 GRO(General Receive Offload)를 비활성화합니다.

    다음 명령에 대한 충분한 이유가 있는 재생 중에 수행할 수 있습니다.

    net/core/dev.c의 커널 주의 사항

    # ethtool -e ethX# ethtool -K ethX lro 비활성화됨# ethtool -K ethX 비활성화

    여기에 설명된 대로 단순히 /sbin/ifup-local을 마케팅하여 재부팅 시 이러한 유형 설정을 저장할 수 있습니다.

    참고. 나중에 IP 전달 및/또는 브리징을 사용하여 LRO를 활성화하는 것은 올바르지 않습니다.

    <제목>

    이유

    <문자열>

  • 특정 GSO에 skb skb->ip_summed != CHECKSUM_PARTIAL이 있을 때 발생하는 경고입니다. 이상적으로는 skb->ip_summed를 GSO에서 CHECKSUM_PARTIAL
  • 로 허용하도록 설정해야 합니다.

  • skb->ip_sumd는 CHECKSUM_UNNECESSARY로 설정되었을 수 있습니다. 아마도 VMware 드라이버나 특정 게스트에 의해서만 가능합니다.
  • skb_gso_segment()는 일반적으로 openvswitch가 패킷을 수신할 때 신속하게 이 함수를 호출한다는 사실을 이용하기 위해 포함되었습니다. 방법 외에는 openvswitch의 경우 경로에 존재할 수 없습니다.
  • LRO는 이 VMware가 제대로 전술하는 방법을 모르는 패키지를 강조 표시할 수 있습니다. LRO를 비활성화하면 실제 해결 방법이 제공됩니다.
  • 이것은 이 버그가 VMware에 있음을 증명합니다.
  • <제목>

    진단 단계

    <문자열>

  • 사용 중인 ‘네트워크’ 카드 모듈의 정품 여부를 확인하세요.
  • sosreport로 파이어로그를 확인하세요.strace
  • clusvcadm 명령에 대해 아래와 같이 로그를 수집합니다.
  • # strace -o /tmp/strace.txt clusvcadm -e 먼 플라토 VM웨어