Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Interrupt Affinityについて
Search
Takuya ASADA
June 28, 2014
Technology
330
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
460
OSv on bhyve
syuu1228
3
460
ruby-virtualmachine
syuu1228
0
300
BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜
syuu1228
2
900
10GbE時代のネットワークI/O高速化
syuu1228
14
8.9k
Play with UEFI
syuu1228
1
390
仮想化環境での利用者公平性
syuu1228
0
210
/proc/irq/<IRQ>/ smp_affinity
syuu1228
0
490
Other Decks in Technology
See All in Technology
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
130
Bucharest Tech Week 2026 - Guardians of the Cloud-Native Galaxy
edeandrea
PRO
0
140
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
530
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
160
AIが自律的に回る開発ループを設計してチーム開発に組み込む
nekorush14
0
130
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
860
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.8k
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
220
Lightning近況報告
kozy4324
0
220
現場のトークンマネジメント
dak2
1
190
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
0
120
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.6k
Featured
See All Featured
Scaling GitHub
holman
464
140k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
220
WENDY [Excerpt]
tessaabrams
11
38k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
WCS-LA-2024
lcolladotor
0
650
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
New Earth Scene 8
popppiees
3
2.4k
The agentic SEO stack - context over prompts
schlessera
0
820
Designing Experiences People Love
moore
143
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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ԾԽʮׂΓࠐΈฤɾͦͷ̍ʯ