You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Daschinsky (Jira)" <ji...@apache.org> on 2022/09/23 14:50:00 UTC

[jira] [Created] (IGNITE-17749) Remove unneeded zeroing of page in PageMemoryImpl.ClearSegmentRunnable

Ivan Daschinsky created IGNITE-17749:
----------------------------------------

             Summary: Remove unneeded zeroing of page in PageMemoryImpl.ClearSegmentRunnable
                 Key: IGNITE-17749
                 URL: https://issues.apache.org/jira/browse/IGNITE-17749
             Project: Ignite
          Issue Type: Improvement
            Reporter: Ivan Daschinsky
            Assignee: Ivan Daschinsky


It seems that zeroing of page in `PageMemoryImpl.ClearSegmentRunnable`
is not needed. Page, that is borrowed not from `PageMemoryImpl.Segment#loadedPages`
or from freePageList (see `PageMemoryImpl.Segment.pool.freePageListPtr`), always either are zeroed explicitly or read from the persistence store.

Zeroing of pages is a quite long operation in some cases, i.e. large memory region, see

See excerpts from a series of threadumps fro a jfr recording, that was recorded on some server node.
{code}
TD_2022_08_23__21_57_40_1663679630023.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__21_57_40_1663679630023.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__21_57_40_1663679630023.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__21_58_10_1663679631047.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__21_58_10_1663679631047.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__21_58_10_1663679631047.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__21_58_40_1663679632677.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__21_58_40_1663679632677.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__21_58_40_1663679632677.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__21_59_10_1663679633562.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__21_59_10_1663679633562.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__21_59_10_1663679633562.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__21_59_40_1663679634489.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__21_59_40_1663679634489.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__21_59_40_1663679634489.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__22_00_10_1663679635411.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__22_00_10_1663679635411.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__22_00_10_1663679635411.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__22_00_40_1663679637003.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__22_00_40_1663679637003.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__22_00_40_1663679637003.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__22_01_10_1663679637840.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__22_01_10_1663679637840.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__22_01_10_1663679637840.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__22_01_40_1663679639483.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__22_01_40_1663679639483.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__22_01_40_1663679639483.log-  at sun.misc.Unsafe.setMemory(Native Method)
--
TD_2022_08_23__22_02_10_1663679640384.log:"page-mem-op-#247087" #4407636 prio=5 os_prio=0 tid=0x00007ef984041000 nid=0x9639 runnable [0x00007f8c732f3000]
TD_2022_08_23__22_02_10_1663679640384.log-   java.lang.Thread.State: RUNNABLE
TD_2022_08_23__22_02_10_1663679640384.log-  at sun.misc.Unsafe.setMemory(Native Method)
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)