2012-12-17 17 views
5

जब मैंने perf list कमांड टाइप किया, तो मैंने पाया कि दो प्रकार के ईवेंट हैं: Hardware event और Hardware cache Event। दोनों के बीच क्या अंतर है ?हार्डवेयर इवेंट और हार्डवेयर कैश ईवेंट के बीच क्या अंतर है?

cache-misses और LLC-misses के बीच क्या अंतर है? क्या कैश मिस में एलएलसी-मिस शामिल हैं?

perf उपकरण जब मैं किसी प्रोग्राम का परीक्षण करता हूं तो कुल प्रदर्शन को कम करता है?

उत्तर

1

perf_event_open सिस्टम कॉल की man page के अनुसार (perf उपयोगकर्ता स्तर उपयोगिताओं द्वारा आंतरिक रूप से उपयोग):

  • हार्डवेयर ईवेंट: यह कर्नेल
  • हार्डवेयर द्वारा प्रदान की "सामान्यीकृत" हार्डवेयर घटनाओं में से एक को इंगित करता है कैश घटनाएं: यह एक हार्डवेयर कैश घटना इंगित करता है।

अधिक करता है, तो यह है कि क्या में [इंटेल 64 और IA-32 आर्किटेक्चर सॉफ्टवेयर डेवलपर की मैनुअल 3 बी] इंटेल 64 और IA-32 आर्किटेक्चर सॉफ्टवेयर डेवलपर की गैर वास्तु और वास्तु घटनाओं कहा जाता है के साथ कुछ लिंक है से अधिक मैं सोच रहा हूँ मैनुअल 3 बी 2

इस वर्गीकरण के सटीक अर्थ के बावजूद cache-misses जैसा कि here in a previous question बताया गया है और ऊपर वर्णित मैन पेज में, स्मृति कैश की संख्या का प्रतिनिधित्व करता है जिसे किसी भी कैश द्वारा सेवा नहीं दी जा सकती है। अलग-अलग कहा, इसका मतलब है कि अंतिम स्तर कैश में कैश की संख्या याद आती है। नतीजतन मुझे लगता है कि यह LLC-misses से भी समान है, दुर्भाग्यवश मैं अपने लैपटॉप पर पुष्टि करने में सक्षम नहीं हूं क्योंकि LLC-misses समर्थित नहीं है।

आपके अंतिम प्रश्न के संबंध में, प्रदर्शन निगरानी द्वारा किए गए ओवरहेड बहुत कम होना चाहिए। दरअसल, भूमि के ऊपर मुख्य कारण काउंटर मूल्यों को पढ़ने, और perf stat का उपयोग कर मुझे लगता है कि यह पढ़ने निष्पादन के अंत में केवल एक बार ही किया जाना चाहिए (यह देखते हुए कि काउंटर अतिप्रवाह नहीं है)

2

प्रश्न 2 के लिए है: हैं मैं एआरएम कर्नेल कोड को देखो ("चाप/हाथ/कर्नेल/perf_event_v7.c") पर्फ़

कैश-चूक के लिए इसका मतलब ARMV7_PERFCTR_L1_DCACHE_REFILL जो प्रथम स्तर डेटा कैश मिस अर्थ है तो LLC शायद इसका मतलब है कम स्तर कैश छूट जाए (एल 3 शायद)

आप आर्किटेक्चर विशिष्ट कर्नेल कोड को देख सकते हैं जो मूल्य ARMV7_PERFCTR_L1_DCACHE_REFILLहैऔर तकनीकी संदर्भ पुस्तिका यह जानने के लिए कि वास्तव में उस मूल्य का क्या मतलब है। http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388i/BEHCCEAE.html

प्रश्न 3: मेरा मानना ​​है कि पर्फ़ हार्डवेयर रजिस्टरों से काउंटर (कम से कम HW प्रदर्शन काउंटरों के लिए) पढ़ता है तो वास्तव में अभ्यस्त अपने कोड के प्रदर्शन को प्रभावित। क्योंकि यह वास्तव में आपके कोड के अंदर कोड हुक नहीं डालता है। लेकिन कुछ कागजात कहते हैं कि यदि आप कोड में perf का उपयोग करते हैं तो 5% प्रदर्शन जुर्माना है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^