Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Interrupt Affinityについて
Search
Takuya ASADA
June 28, 2014
Technology
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Interrupt Affinityについて
Takuya ASADA
June 28, 2014
More Decks by Takuya ASADA
See All by Takuya ASADA
僕のIntel NUCが起動しないわけがない
syuu1228
3
4.5k
Introduction to bhyve
syuu1228
1
480
OSv on bhyve
syuu1228
3
470
ruby-virtualmachine
syuu1228
0
310
BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜
syuu1228
2
920
10GbE時代のネットワークI/O高速化
syuu1228
14
8.9k
Play with UEFI
syuu1228
1
410
仮想化環境での利用者公平性
syuu1228
0
230
/proc/irq/<IRQ>/ smp_affinity
syuu1228
0
510
Other Decks in Technology
See All in Technology
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
継続的なAIコスト最適化
bgpat
1
250
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
190
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
540
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
550
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
4
4.1k
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
0
120
自分で立ててみるLLMサービス
y_sera15
0
150
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
270
分析AIエージェントを育てる、動く環境を育てる
codatum
1
380
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
WCS-LA-2024
lcolladotor
0
850
Code Reviewing Like a Champion
maltzj
529
40k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Prompt Engineering for Job Search
mfonobong
0
490
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Designing for humans not robots
tammielis
254
26k
Crafting Experiences
bethany
1
370
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
Design in an AI World
tapps
1
350
Transcript
Interrupt Affinity ʹ͍ͭͯ @syuu1228
Interrupt Affinity? ࠓ࣌ͷී௨ͷ1$ϚϧνίΞͰ͋Δ σόΠε̍ɿ*32̍ɿ$16͍ͬͺ͍ ͱ͍͏ؔʹͳ͍ͬͯΔ σόΠεͲ͜ʹׂΓࠐΜͰ͍Δͷʁ -JOVYͲͷ$16ʹׂΓࠐ·͍ͤͯΔͷʁ ˠ*OUFSSVQU"⒏OJUZ
Interrupt Affinityͷ ϢʔβΠϯλϑΣʔε
$ cat /proc/interrupts CPU0 CPU1 0: 36843 61973 IO-APIC-edge timer
1: 518 591 IO-APIC-edge i8042 8: 1 0 IO-APIC-edge rtc0 9: 387 321 IO-APIC-fasteoi acpi 12: 11236 79 IO-APIC-edge i8042 16: 0 0 IO-APIC-fasteoi uhci_hcd:usb6 17: 12 11 IO-APIC-fasteoi uhci_hcd:usb7 18: 0 0 IO-APIC-fasteoi uhci_hcd:usb8 19: 6531 235 IO-APIC-fasteoi ehci_hcd:usb2 20: 0 0 IO-APIC-fasteoi uhci_hcd:usb3 21: 85 69 IO-APIC-fasteoi uhci_hcd:usb4 22: 0 0 IO-APIC-fasteoi uhci_hcd:usb5 23: 20 15 IO-APIC-fasteoi ehci_hcd:usb1 40: 0 0 PCI-MSI-edge PCIe PME, pciehp 41: 0 0 PCI-MSI-edge PCIe PME, pciehp 42: 0 0 PCI-MSI-edge PCIe PME, pciehp 43: 33199 31756 PCI-MSI-edge ahci 44: 19 1583 PCI-MSI-edge eth0 45: 10 11 PCI-MSI-edge mei 46: 41104 59303 PCI-MSI-edge i915 47: 170268 708 PCI-MSI-edge iwlwifi 48: 78 77 PCI-MSI-edge snd_hda_intel NMI: 1406 1430 Non-maskable interrupts $16ຖͷׂΓࠐΈ౷ܭΛදࣔ /proc/interrupts
/proc/irq/*/smp_affinity ׂΓࠐΈઌ$16܈ΛϏοτͰࢦఆ͢Δ ͱɺࢦఆ͞Εͨ$16܈ʹϥϯυϩϏ ϯͰׂΓࠐ·ΕΔʢϏοτ͕୯ҰͳΒ ৗʹͦͷ$16ׂΓࠐΈʣ # cat /proc/irq/43/smp_affinity 3 #
echo 1 > /proc/irq/43/smp_affinity ͜ΕΛॻ͖͑ΔͱׂΓࠐΈઌ$16͕มΘΔ
LinuxͰͷσϑΥϧτ શ$16ͷϏοτ͕༗ޮʹͳ͓ͬͯΓɺ ͭͷׂΓࠐΈ͕શ$16ϥϯυϩ Ϗϯ͢Δ ϥϯυϩϏϯׂΓࠐΈʹରԠ͠ͳ͍1$ Ͱ͋Δ$16ݻఆతʹׂΓࠐΉ ʢDQV ʣ
/proc/irq/*/smp_affinity_list ώϡʔϚϯϦʔμϒϧͳTNQ@B⒏OJUZ # echo ff > /proc/irq/43/smp_affinity # cat /proc/irq/43/smp_affinity_list
0-7
/proc/irq/*/smp_affinity_hint σόΠευϥΠό͔ΒϢʔβϥϯυσʔ ϞϯʢJSRCBMBODFʣ͜ͷ*32ʹద ͳ$16NBTLΛ௨
irqbalance ඵ͝ͱʹγεςϜෛՙঢ়گΛνΣο Ϋɺ֤*32ͷTNQ@B⒏OJUZΛॻ͖͑ ͯ$16ෛՙΛެฏʹ͢ΔσʔϞϯ POFTIPUϞʔυͰىಈ࣌ʹదͱࢥ ΘΕΔΛTNQ@B⒏OJUZʹઃఆͯ͠ FYJU
MultiQueue NICͷׂΓࠐΈ $16ຖʹૹड৴ΩϡʔɺΩϡʔຖʹ .4*9ׂΓࠐΈΛ࣋ͭ ਖ਼͍͠TNQ@B⒏OJUZݻఆతʹܾ·ͬ ͍ͯΔ ෳ$16ࢄΒͯ͠ͳΒͳ͍ 47: 7602 0
0 0 0 3 23 0 PCI-MSI-edge p1p1-TxRx-0 48: 0 7602 0 0 0 0 13 12 PCI-MSI-edge p1p1-TxRx-1 49: 12 0 7605 0 0 0 10 0 PCI-MSI-edge p1p1-TxRx-2 50: 0 12 0 7602 3 0 10 0 PCI-MSI-edge p1p1-TxRx-3 51: 0 0 12 0 7602 3 10 0 PCI-MSI-edge p1p1-TxRx-4 52: 0 0 0 20 0 7602 13 0 PCI-MSI-edge p1p1-TxRx-5 53: 0 0 0 0 12 0 7612 3 PCI-MSI-edge p1p1-TxRx-6 54: 3 0 0 0 0 13 10 7602 PCI-MSI-edge p1p1-TxRx-7 55: 0 2 0 0 0 0 2 0 PCI-MSI-edge p1p1
ιʔείʔυ QSPDJOUFSSVQUT GTQSPDJOUFSSVQUTD QSPDJSR LFSOFMJSRQSPDD JSRCBMBODF IUUQTHJUIVCDPNJSRCBMBODF JSRCBMBODF
PCΞʔΩςΫνϟʹ͓͚Δ ׂΓࠐΈϧʔςΟϯά
PC্ͷׂΓࠐΈίϯϙʔωϯτ CPU Local APIC CPU Local APIC CPU Local APIC
ICH 8259A PIC Timer I/O APIC Legacy PCI Devices MSI(-X) Capable Devices IPI Legacy PCI 8259A Intr MSI(-X) PCI-LPC bridge SuperIO Chip
Local APIC $16ຖͷׂΓࠐΈίϯτϩʔϥɹׂΓࠐΈΛڐՄɾϚεΫ͠ ͨΓɺ&0*ͨ͠Γ γεςϜશମͰҰҙͳ"1*$*%Λ࣋ͭ ଞͷ-"1*$ׂΓࠐΊΔʢ*1**OUFSQSPDFTTPS*OUFSSVQU CPU Local APIC CPU
Local APIC CPU Local APIC ICH 8259A PIC Timer I/O APIC Legacy PCI Devices MSI(-X) Capable Devices IPI Legacy PCI 8259A Intr MSI(-X) PCI-LPC bridge SuperIO Chip
LAPIC - Interrupt Command Register(ICR) 7FDUPSɿѼઌ-"1*$ͷϕΫλ൪߸ %FMJWFSZ.PEFɿׂΓࠐΈૹϞʔυ %FTUJOBUJPO.PEFɿѼઌϞʔυ %FMJWFS4UBUVTɿલճͷׂΓࠐΈͷૹঢ়گ 5SJHHFS.PEFɿϨϕϧτϦΨʗΤοδτϦΨ
%FTUJOBUJPO4IPSUIBOEɿѼઌͷϚεΫํࣜʢࣗ$16ΛϚεΫɾ ΞϯϚεΫͳͲʣ %FTUJOBUJPO*%ɿѼઌ
ιʔείʔυ *$3 BSDIYJODMVEFBTNJQJI
σʔλγʔτ *OUFMBOE*" "SDIJUFDUVSFT4PGUXBSF %FWFMPQFS.BOVBMT *OUFSSVQU$PNNBOE 3FHJTUFS *$3
ิɿx2APIC -"1*$*%ैདྷCJU͕ͩͬͨɺίΞͷ૿ՃʹΑ ΓϏοτ͕Γͳ͘ͳͬͯ͠·ͬͨͷͰCJU ϏοτΛՃ ͜ΕʹͬͯɺҎ߱Ͱղઆ͢Δ֤ϨδελͰͷׂΓ ࠐΈઌ-"1*$ࢦఆϑΟʔϧυͷΞυϨε෯Ϗοτ Ճ͞Εͨ
σʔλγʔτ *OUFM"SDIJUFDUVSFY"1*$4QFDJpDBUJPO (-044"3:
I/O APIC ݶΒΕͨຊͷཧׂΓࠐΈઢΛ֤1$*σόΠεͰڞ༗ ʢ1$*FʹཧׂΓࠐΈઢແ͘ɺϝοηʔδϯάʹΑͬͯ*0"1*$ܦ༝ׂΓࠐΈΛ ΤϛϡϨʔτʣ ֤*32ΛͲͷ-"1*$సૹ͢Δ͔Λఆٛ͢Δ3FEJSFDUJPO5BCMF ʢ*0"1*$্ͷϨδελ܈ʣΛ࣋ͭ 1$*σόΠε*0"1*$Λ௨ͯ͡-"1*$ׂΓࠐΈϝοηʔδΛૹ৴ CPU Local
APIC CPU Local APIC CPU Local APIC ICH 8259A PIC Timer I/O APIC Legacy PCI Devices MSI(-X) Capable Devices IPI Legacy PCI 8259A Intr MSI(-X) PCI-LPC bridge SuperIO Chip
I/O APIC - REDIR_TBL 7FDUPSɿѼઌ-"1*$ͷϕΫλ൪߸ %FMJWFSZ.PEFɿׂΓࠐΈૹϞʔυ %FTUJOBUJPO.PEFɿѼઌϞʔυ %FMJWFSZ4UBUVTɿલճͷׂΓࠐΈͷૹঢ়گ *OUFSSVQU*OQVU1JO1PMBSJUZɿׂΓࠐΈϐϯͷۃੑ 3FNPUF*33ɿࣗಈతʹ&0*͢Δ͔Ͳ͏͔
5SJHHFS.PEFɿϨϕϧτϦΨʗΤοδτϦΨ .BTLɿׂΓࠐΈϚεΫ %FTUJOBUJPO*%ɿѼઌ
ιʔείʔυ 3&%*3@5#- BSDIYLFSOFMBQJDJP@BQJDD
σʔλγʔτ *OUFM*0$POUSPMMFS)VC *$) 'BNJMZ%BUBTIFFU 3&%*3@5#-3FEJSFDUJPO 5BCMF
ϨΨγσόΠε ϨΨγσόΠε͔ΒͷׂΓࠐΈΛ1$*-1$CSJEHFͰ1$*ม 1$*σόΠεಉ༷ʹ*0"1*$Λ௨ͯ͡-"1*$ׂΓࠐΈϝοηʔ δΛૹ৴ ޓੑͷͨΊ"ʹଓ͞Ε͍ͯΔͱࢥΘΕΔ CPU Local APIC CPU Local
APIC CPU Local APIC ICH 8259A PIC Timer I/O APIC Legacy PCI Devices MSI(-X) Capable Devices IPI Legacy PCI 8259A Intr MSI(-X) PCI-LPC bridge SuperIO Chip
8259A PIC লུʢ·ͩͬͯ·͕͢ɺ͏Θͳ ͍Ͱ͠ΐ͏ʣ
MSI(-X) capable PCI devices ֤σόΠε͕ҙͷͷ*32Λ࣋ͯΔ ֤*32ͷׂΓࠐΈઌ-"1*$1$*σόΠεͷ1$* $POpHVSBUJPO4QBDFʹ࣋ͭ 1$*σόΠε-"1*$ׂΓࠐΈϝοηʔδΛૹ৴ CPU Local
APIC CPU Local APIC CPU Local APIC ICH 8259A PIC Timer I/O APIC Legacy PCI Devices MSI(-X) Capable Devices IPI Legacy PCI 8259A Intr MSI(-X) PCI-LPC bridge SuperIO Chip
MSI Capability on PCI configuration space Device ID Vendor ID
… Reserved Cap. Pointer … Capability x CAP ID(x) Next Pointer … Capability y CAP ID(yy) Next Pointer … MSICTL CAP ID(D0h) Next Pointer MSIAR MSIDR
MSI Capability - MSICTL লུʢ.4*༗ޮɺCJUɺෳׂΓࠐ Έ༗ޮͳͲͷϑΟʔϧυʣ
MSI Capability - MSIAR %FTUJOBUJPO.PEFɿѼઌϞʔυ 3FEJSFDUJPO)JOUɿMPHJDBMNPEFˍ -PX1SJͰͷSFEJSFDUJPOΛ༗ޮԽ %FTUJOBUJPO*%ɿѼઌ
MSI Capability - MSIDR 7FDUPSɿѼઌ-"1*$ͷϕΫλ൪߸ %FMJWFSZ.PEFɿׂΓࠐΈૹϞʔυ %FMJWFSZ4UBUVTɿׂΓࠐΈঢ়گ 5SJHHFS.PEFɿϨϕϧτϦΨʗΤο δτϦΨ
MSI-Xͷ߹ লུʢϑΟʔϧυ͕֦ு͞Εͯࢁׂ ΓࠐΈ͕࣋ͯΔ͕ɺΈಉ͡ʣ
ιʔείʔυ .4* 9 $BQBCJMJUZ BSDIYLFSOFMBQJDJP@BQJDD
σʔλγʔτ *OUFM$IJQTFUBOE*OUFM $IJQTFU .4*$5-.4*$POUSPM 3FHJTUFS .4*"3.4*"EESFTT 3FHJTUFS .4*%3.4*%BUB3FHJTUFS
֤ํࣜͰڞ௨ͳཁૉ ҎԼͷࡾͭͷϑΟʔϧυͰѼઌ͕ࢦఆ ͞ΕΔ %FTUJOBUJPO.PEF %FMJWFSZ.PEF %FTUJOBUJPO*%
ׂΓࠐΈઌͷࢦఆํ๏ 1IZTJDBM%FTUJOBUJPO.PEF %FTUJOBUJPO'JFMEʹ"1*$*%Λࢦఆ ʮৗʹಉ͡$16ׂΓࠐΈʯΛ࣮ݱ -PHJDBM%FTUJOBUJPO.PEF 'MBU.PEFM %FTUJOBUJPO'JFMEͷCJUͰѼઌ-"1*$܈ͷൣғΛදݱ %FMJWFSZ.PEF 'JYFE
ࢦఆൣғͷશͯͷ-"1*$ׂΓࠐΈ -PXFTU1SJPSJUZ ࢦఆൣғͷதͰɺ࠷513ʢ5BTL1SJPSJUZ3FHJTUFSʣͷ͕ ͍$16ׂΓࠐΈ
Logical Destination Mode (Cluster Model) Y"1*$ͷ߹ɺ CJU$MVTUFS*% CJU-PHJDBM*% 'MBU.PEFMʹൺͯଟ͘ͷ$16Λ αϙʔτͰ͖Δ
Lowest Priority Mode ࢦఆൣғͷதͰɺ࠷513ʢ5BTL 1SJPSJUZ3FHJTUFSʣͷ͕͍-"1*$ ׂΓࠐΈ ୠ͠ɺ-JOVYͰಈ࡞தʹ513Λߋ৽͠ͳ ͍ˠશ-"1*$ͷ513શͯಉ͡ ࠷খͷ513Λ࣋ͭ-"1*$͕ෳ͋Δ ߹ϥϯυϩϏϯͰ̍ͭબ
σʔλγʔτ *OUFMBOE*""SDIJUFDUVSFT4PGUXBSF%FWFMPQFS .BOVBMT *OUFSSVQU$PNNBOE3FHJTUFS *$3 1IZTJDBM%FTUJOBUJPO.PEF -PHJDBM%FTUJOBUJPO.PEF -PXFTU1SJPSJUZ%FMJWFSZ.PEF *OUFM"SDIJUFDUVSFY"1*$4QFDJpDBUJPO
-PHJDBM%FTUJOBUJPO3FHJTUFS *OUFM*0$POUSPMMFS)VC *$) 'BNJMZ%BUBTIFFU "VUPNBUJD3PUBUJPO.PEF &RVBM1SJPSJUZ%FWJDFT 4QFDJpD3PUBUJPO.PEF 4QFDJpD1SJPSJUZ
echo 1 > /proc/irq/<IRQ>/ smp_affinityͨ࣌͠ʹԿ͕ى͖Δͷ͔ .4*ͳ1$*FσόΠεͰ͔֬ΊͯΈΔ *OUFM1SP FF 1$*$POpHVSBUJPO4QBDFSPPUͳΒ
TZTCVTQDJ͔ΒಡΊΔ ˠϢʔβϥϯυ͔ΒಡΊΔ ˠ͔ͯ͠͠ɿMTQDJ
# lspci -vvvv -s 00:19.0 00:19.0 Ethernet controller: Intel Corporation
82567LM Gigabit Network Connection (rev 03) Subsystem: Lenovo Device 20ee Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 44 Region 0: Memory at f2600000 (32-bit, non-prefetchable) [size=128K] Region 1: Memory at f2625000 (32-bit, non-prefetchable) [size=4K] Region 2: I/O ports at 1840 [size=32] Capabilities: [c8] Power Management version 2 Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME- Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000fee0300c Data: 41b9 Capabilities: [e0] PCI Advanced Features AFCap: TP+ FLR+ AFCtrl: FLR- AFStatus: TP- Kernel driver in use: e1000e Kernel modules: e1000e ͘ృͬͨॴ͕.4*ͷϑΟʔϧυ͕ͩɺ͜Εͩ ͱಡΊͳ͍ͷͰMTQDJΛGPSLͯ͠.4*ϑΟʔϧ υΛදࣔ͢ΔπʔϧΛ࡞ IUUQTHJTUHJUIVCDPN
# gcc -lpci msireg.c! # ./a.out 00:19.0! Message Signalled Interrupts:
64bit+ Queue=0/0 Enable+! address_hi=0! address_lo=fee0300c dest_mode=logical redirection=lowpri dest_id=3! data=41b9 trigger=edge level=assert delivery_mode=lowpri vector=185 -PHJDBMNPEFͰ-PXQSJɺEFTUJEɺ WFDUPSʹͳ͍ͬͯΔ # echo 1 > /proc/irq/44/smp_affinity! # ./a.out 00:19.0! Message Signalled Interrupts: 64bit+ Queue=0/0 Enable+! address_hi=0! address_lo=fee0100c dest_mode=logical redirection=lowpri dest_id=1! data=41b9 trigger=edge level=assert delivery_mode=lowpri vector=185 EFTU@JE͕ʹॻ͖Θͬͨ
Affinityηοτ࣌ͷΧʔωϧͷڍಈ γεςϜάϩʔόϧͳ%FTUJOBUJPO.PEFͱ %FMJWFSZ.PEFͷઃఆΛอ࣋ ʢBQJDJSR@EFTU@NPEF BQJDJSR@EFMJWFSZ@NPEFʣ "⒏OJUZηοτ࣌ʹ͜ͷΛࢀরɺ%FTUJOBUJPO *%ͱซͤͯॻ͖ࠐΉ OBUJWF@DPNQPTF@NTJ@NTH BSDIYLFSOFMBQJDJP@BQJDD
OSॳظԽ࣌ͷׂΓࠐΈϞʔυઃఆ ڥʹΑͬͯҟͳΔυϥΠόΛ༻ BSDIYLFSOFMBQJDBQJD@qBU@D YBQJD@DMVTUFSD YBQJD@QIZTDʜ BQJD@qBUʢඇYBQJDϞʔυʣ %FMJWFSZ.PEF-PX1SJ %FTUJOBUJPO.PEF-PHJDBM BQJD@QIZTqBUʢඇYBQJDϞʔυ
$164ʣ %FMJWFSZ.PEF'JYFE %FTUJOBUJPO.PEF1IZTJDBM BQJD@YBQJD@QIZTʢYBQJDϞʔυ "$1*Ͱ1IZTJDBMϞʔυࢦఆʣ ಉ্ ϥϯυϩϏϯׂΓࠐΈͰ͖ΔڥҰఆ݅Λຬͨͨ͠߹ͷΈ
*OUFMBOE*""SDIJUFDUVSFT4PGUXBSF %FWFMPQFS.BOVBMT *OUFM*0$POUSPMMFS)VC *$) 'BNJMZ %BUBTIFFU *OUFM"SDIJUFDUVSFY"1*$4QFDJpDBUJPO *OUFM$IJQTFUBOE*OUFM$IJQTFU MJOVY%PDVNFOUBUJPO*32B⒏OJUZUYU 6OEFSTUBOEJOHUIF-JOVY,FSOFM
SE&EJUJPO 1$*-PDBM#VT4QFDJpDBUJPO3FWJTJPO ࢀߟࢿྉ
ࠓ·Ͱʹ·ͱΊͨࢿྉ ࠷ۙͷ1$ΞʔΩςΫνϟʹ͓͚ΔׂΓࠐΈϧʔςΟϯάͷΈ QSPDJSR*32TNQ@B⒏OJUZͷॻ͖͑Ͱ1$*ίϯϑΟάϨʔ γϣϯۭؒͲͷΑ͏ʹॻ͖ΘΔ͔ QSPDJSR*32TNQ@B⒏OJUZ *OUFSSVQUTPOYW ϋΠύʔόΠβͷ࡞ΓํʙͪΌΜͱཧղ͢ΔԾԽٕज़ʙୈ̐ճ* 0ԾԽʮׂΓࠐΈฤɾͦͷ̍ʯ