El controlador scini de PowerFlex (SDC) informa errores de asignación de memoria (blkIO_HandleChecksumOnIoStart)

Summary: El controlador scini (el controlador de SDC) informa errores de asignación de memoria en el registro del sistema.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Escenario
SDC instalado en Linux
Los volúmenes asignados al SDC se asignan desde un pool de almacenamiento configurado para utilizar la suma de comprobación.
El sistema experimenta escasez de memoria o fragmentación de memoria.

Síntomas
Por lo general, aparecen mensajes similares a los siguientes en el registro del sistema: /var/log/messages

Dec 12 15:36:09 server002 kernel: kworker/16:2H: page allocation failure: order:8, mode:0x104020 
Dec 12 15:36:09 server002 kernel: CPU: 16 PID: 11460 Comm: kworker/16:2H Tainted: P OE ------------ 3.10.0-514.21.1.el7.x86_64 #1 
Dec 12 15:36:09 server002 kernel: Hardware name: HP ProLiant DL560 Gen9/ProLiant DL560 Gen9, BIOS P85 01/04/2016 
Dec 12 15:36:09 server002 kernel: Workqueue: kblockd blk_delay_work 
Dec 12 15:36:09 server002 kernel: 0000000000104020 0000000054aac964 ffff886aecfd37c0 ffffffff81686e13 
Dec 12 15:36:09 server002 kernel: ffff886aecfd3850 ffffffff81187090 ffff88607ffda000 0000000000000010 
Dec 12 15:36:09 server002 kernel: ffffffffffffff00 0010402000000000 0022522000000000 0000000054aac964 
Dec 12 15:36:09 server002 kernel: Call Trace: 
Dec 12 15:36:09 server002 kernel: [<ffffffff81686e13>] dump_stack+0x19/0x1b 
Dec 12 15:36:09 server002 kernel: [<ffffffff81187090>] warn_alloc_failed+0x110/0x180 
Dec 12 15:36:09 server002 kernel: [<ffffffff816829a7>] __alloc_pages_slowpath+0x6b7/0x725 Dec 12 15:36:09 server002 kernel: [<ffffffff8118b645>] __alloc_pages_nodemask+0x405/0x420 Dec 12 15:36:09 server002 kernel: [<ffffffff811cf7fa>] alloc_pages_current+0xaa/0x170 
Dec 12 15:36:09 server002 kernel: [<ffffffff81185f6e>] __get_free_pages+0xe/0x50 
Dec 12 15:36:09 server002 kernel: [<ffffffff811db09e>] kmalloc_order_trace+0x2e/0xa0 
Dec 12 15:36:09 server002 kernel: [<ffffffff811dd871>] __kmalloc+0x221/0x240 
Dec 12 15:36:09 server002 kernel: [<ffffffff811de7c3>] ? kmem_cache_alloc+0x193/0x1e0 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b697a>] blkIO_OnChecksumIoStart+0x5a/0x550 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07ed587>] ? mosMCAllocator_Alloc+0x57/0xa0 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b3ac1>] blkIO_HandleChecksumOnIoStart+0xc1/0x220 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b7ea8>] mapVolIO_Do_CK+0x398/0x1e80 [scini] Dec 12 15:36:09 server002 kernel: [<ffffffffa07b4306>] blkIO_Do_CK+0x266/0xa00 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07e9838>] mosMit_EntryWrapper+0x128/0x1b0 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07e9a2c>] mosMit_StartNow+0x7c/0x90 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b4ea6>] blkIO_Request+0x356/0x730 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffff810cf27e>] ? dequeue_task_fair+0x41e/0x660 
Dec 12 15:36:09 server002 kernel: [<ffffffff812eb7e3>] __blk_run_queue+0x33/0x40 
Dec 12 15:36:09 server002 kernel: [<ffffffff812ed915>] blk_delay_work+0x25/0x60 
Dec 12 15:36:09 server002 kernel: [<ffffffff810a845b>] process_one_work+0x17b/0x470 
Dec 12 15:36:09 server002 kernel: [<ffffffff810a9296>] worker_thread+0x126/0x410 
Dec 12 15:36:09 server002 kernel: [<ffffffff810a9170>] ? rescuer_thread+0x460/0x460 
Dec 12 15:36:09 server002 kernel: [<ffffffff810b0a4f>] kthread+0xcf/0xe0 
Dec 12 15:36:09 server002 kernel: [<ffffffff810b0980>] ? kthread_create_on_node+0x140/0x140 Dec 12 15:36:09 server002 kernel: [<ffffffff81697418>] ret_from_fork+0x58/0x90 
Dec 12 15:36:09 server002 kernel: [<ffffffff810b0980>] ? kthread_create_on_node+0x140/0x140

Los mensajes comienzan con: page allocation failure
El seguimiento de pila incluye lo siguiente: blkIO_HandleChecksumOnIoStart

Impacto
Es posible que el mecanismo de suma de comprobación interna de ScaleIO no verifique algunas operaciones de I/O.

Nota: Los mensajes TCP enviados entre el SDC y el SDS incluyen una suma de comprobación de nivel de TCP, independientemente de la suma de comprobación agregada por el SDC, que se utiliza para verificar el contenido del mensaje como parte de la pila de TCP.

 

Cause

Cuando la función de suma de comprobación está activada en un pool de almacenamiento, las operaciones de I/O en los volúmenes asignados desde el pool de almacenamiento tienen una suma de comprobación incluida con los mensajes de red entre SDC y SDS.
Para calcular estos valores de suma de comprobación, el SDC asigna memoria dinámicamente.
Si el host sufre escasez de memoria o fragmentación de memoria, la asignación de memoria necesaria para la operación de suma de comprobación puede fallar.

Cuando falla la asignación de memoria, el SDC no puede calcular la suma de comprobación y no la conecta al mensaje de red.
Cuando el SDS recibe un mensaje del SDC, que no incluye una suma de comprobación, realiza la operación de I/O, sin verificar el contenido del mensaje en su lado.

Para concluir, las fallas de asignación de memoria no tienen ningún efecto en las operaciones de I/O de las aplicaciones ni en el rendimiento de ScaleIO.

 

Resolution

Si es posible, asegúrese de que el host tenga suficiente memoria libre sin fragmentar.

Versiones
afectadasTodas las versiones de ScaleIO funcionan según lo previsto

Solucionado en la versión
N/D

 

Article Properties
Article Number: 000161109
Article Type: Solution
Last Modified: 03 Sept 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.