Hi, I have got a problem while doing sequential writing on the iscsi target, seeing bellow dmesg from target machine for details. [26014.217904] iscsi_trx: page allocation failure: order:4, mode:0x240c0c0 [26014.224486] CPU: 1 PID: 1453 Comm: iscsi_trx Not tainted 4.4.58-20170908.kylin.5.2kp.server.YUN++ #8 [26014.233571] Hardware name: FT2000plus (DT) [26014.237645] Call trace: [26014.240083] [<ffff800000089dd8>] dump_backtrace+0x0/0x188 [26014.245453] [<ffff800000089f84>] show_stack+0x24/0x30 [26014.250480] [<ffff800000425604>] dump_stack+0x98/0xbc [26014.255507] [<ffff8000001cb368>] warn_alloc_failed+0xe0/0x128 [26014.261223] [<ffff8000001ceec0>] __alloc_pages_nodemask+0xae8/0xca8 [26014.267458] [<ffff80000021a434>] alloc_pages_current+0xa4/0x148 [26014.273347] [<ffff8000001cce3c>] alloc_kmem_pages+0x2c/0xa8 [26014.278891] [<ffff8000001ec128>] kmalloc_order+0x28/0x70 [26014.284174] [<ffff8000001ec1ac>] kmalloc_order_trace+0x3c/0xf0 [26014.289977] [<ffff8000002236e4>] __kmalloc+0x254/0x278 [26014.295137] [<ffff7ffffc6133a8>] iscsi_target_rx_thread+0x478/0xd10 [iscsi_target_mod] [26014.303015] [<ffff8000000dfbfc>] kthread+0xe4/0xf8 [26014.307781] [<ffff800000085410>] ret_from_fork+0x10/0x40 [26014.313092] Mem-Info: [26014.315385] active_anon:4303 inactive_anon:6071 isolated_anon:0 active_file:5038567 inactive_file:8027121 isolated_file:0 unevictable:1733 dirty:9201 writeback:0 unstable:0 slab_reclaimable:622450 slab_unreclaimable:17769 mapped:7474 shmem:4291 pagetables:323 bounce:0 free:78029 free_pcp:21 free_cma:0 The target backstore is based on a file object. After about 24H testing I can catch above problem and the problem can be reproduced after reboot and another 24H testing. If I use block object as the backstore, then the problem gets disappeared. I looked to source code and found a strong-related commit to this problem that is 95cadace("target/file: Update hw_max_sectors based on current block_size"). This patch increased FD_MAX_SECTORS from 1MB to 8MB , as a result iscsi_target_rx_thread always use order=4(seeing dmesg printout) to allocate memory which could easily drain high order memory after long time writing test. So can we consider to take a middle value for this macro? Thanks.��.n��������+%������w��{.n����j�����{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��