De PowerFlex scini-driver (SDC) meldt geheugentoewijzingsfouten (blkIO_HandleChecksumOnIoStart)

Summary: Geheugentoewijzingsfouten worden in syslog gemeld door het scini-stuurprogramma (het SDC-stuurprogramma).

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

Scenario
SDC geïnstalleerd op Linux
Volumes die aan de SDC zijn toegewezen, worden toegewezen vanuit een storagepool die is geconfigureerd voor gebruik van checksum.
Het systeem ervaart geheugentekort of geheugenfragmentatie.

Symptomen
Berichten die lijken op de volgende worden meestal weergegeven in de syslog: /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

De berichten beginnen met: page allocation failure
De stacktrace omvat: blkIO_HandleChecksumOnIoStart

Impact
Het interne checksummechanisme van ScaleIO verifieert sommige I/O-bewerkingen mogelijk niet.

Opmerking: De TCP-berichten die tussen de SDC en de SDS worden verzonden, bevatten een controlesom op TCP-niveau, ongeacht de controlesom die door de SDC wordt toegevoegd, die wordt gebruikt om de inhoud van het bericht te verifiëren als onderdeel van de TCP-stack.

 

Cause

Wanneer de checksum-functie is ingeschakeld voor een storagepool, wordt bij I/O-bewerkingen op volumes die zijn toegewezen uit de storagepool een checksum opgenomen in de netwerkberichten tussen SDC en SDS.
Om deze checksumwaarden te berekenen, wijst de SDC dynamisch geheugen toe.
Als de host last heeft van geheugentekort of geheugenfragmentatie, kan de geheugentoewijzing die nodig is voor de checksum-bewerking mislukken.

Wanneer de geheugentoewijzing mislukt, kan de SDC de controlesom niet berekenen en voegt deze niet toe aan het netwerkbericht.
Wanneer de SDS een bericht van de SDC ontvangt dat geen checksum bevat, voert deze de I/O-bewerking uit, zonder de inhoud van het bericht aan de kant te controleren.

Concluderend kunnen we zeggen dat de fouten in de geheugentoewijzing geen invloed hebben op de I/O-bewerkingen of prestaties van ScaleIO van applicaties.

 

Resolution

Zorg er indien mogelijk voor dat de host voldoende vrij niet-gefragmenteerd geheugen heeft.

Versies
waarop dit van toepassing isAlle ScaleIO-versies - werken zoals ontworpen

Opgelost in versie
N.V.T

 

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.