2016-03-21 16 views
0

intel rangeley board üzerinde çalışıyorum. Linux çekirdeğini önyüklemek için toplam süreyi ölçmek istiyorum. Bunu intel tahtada başarmanın mümkün ve kanıtlanmış bir yolu var mı?intel rangeley kartında linux çekirdeği için toplam açılış zamanı nasıl ölçülür

+0

Ne çeşit kullanıyorsunuz, Ubuntu yani, bazı güzel profil grafiklerine sahip olun. – xvan

+0

Bootchart var (http://www.bootchart.org/), ama init başladığında başlar düşünüyorum. –

+0

Teşekkürler Brian Cain, tam önyükleme süresini – anikhan

cevap

2

rdtsc'u kullanmayı deneyin. ref kılavuzuna insn Intel'e göre: işlemci her sıfırlandığında

işlemci monotonik zaman damgası sayacı MSR'yi her saat döngüsü ve 0'a sıfırlanır bunu artırır. Zaman damgası sayıcı davranışının ayrıntıları için bkz. Intel® 64 ve IA-32 Yapılandırma Yazılım Geliştirici Kullanım Kılavuzu, Cilt 3B, Bölüm 17, “Zaman Damgası Sayacı”.

Normal TSC sadece zaman içinde iki nokta arasındaki nispi ölçümler için kullanılan

veya timesource olarak (el bağlantılar için etiket wiki'yi bakınız). Mutlak değer görünüşte anlamlıdır. Çalıştığı güç tasarruflu saat hızına bakılmaksızın, CPU'nun nominal saat hızını belirler.

Çok çekirdekli bir sistemde önyükleme işlemcisinden TSC'yi okuduğunuzdan emin olmanız gerekebilir. Diğer çekirdekler, Linux onları başlatmak için bir işlemci arası kesmesi gönderene kadar TSC'lerine başlamadı. gettimeofday() TSC'yi kullandığı için Linux, TSC'lerini önyükleme işlemcisinin TSC'siyle eşzamanlayabilir. IDK, sadece kendi kendime yazmak istediğimde kontrol edeceğime emin olacağım.

Çekirdek, zaman kaynağı olarak kullanıldığında TSC'yi değiştirmemesi için önlem almanız gerekebilir. Muhtemelen, Linux'u farklı bir zaman dilimini kullanmaya zorlayan bir önyükleme seçeneği ile.

İlgili konular