Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  isolation.h   Sprache: C

 
#ifndef _LINUX_SCHED_ISOLATION_H
#define _LINUX_SCHED_ISOLATION_H

#include <linux/cpumask.h>
#include <linux/cpuset.h>
#include <linux/init.h>
#include <linux/tick.h>

enum hk_type {
 HK_TYPE_DOMAIN,
 HK_TYPE_MANAGED_IRQ,
 HK_TYPE_KERNEL_NOISE,
 HK_TYPE_MAX,

 /*
 * The following housekeeping types are only set by the nohz_full
 * boot commandline option. So they can share the same value.
 */

 HK_TYPE_TICK    = HK_TYPE_KERNEL_NOISE,
 HK_TYPE_TIMER   = HK_TYPE_KERNEL_NOISE,
 HK_TYPE_RCU     = HK_TYPE_KERNEL_NOISE,
 HK_TYPE_MISC    = HK_TYPE_KERNEL_NOISE,
 HK_TYPE_WQ      = HK_TYPE_KERNEL_NOISE,
 HK_TYPE_KTHREAD = HK_TYPE_KERNEL_NOISE
};

#ifdef CONFIG_CPU_ISOLATION
DECLARE_STATIC_KEY_FALSE(housekeeping_overridden);
extern int housekeeping_any_cpu(enum hk_type type);
extern const struct cpumask *housekeeping_cpumask(enum hk_type type);
extern bool housekeeping_enabled(enum hk_type type);
extern void housekeeping_affine(struct task_struct *t, enum hk_type type);
extern bool housekeeping_test_cpu(int cpu, enum hk_type type);
extern void __init housekeeping_init(void);

#else

static inline int housekeeping_any_cpu(enum hk_type type)
{
 return smp_processor_id();
}

static inline const struct cpumask *housekeeping_cpumask(enum hk_type type)
{
 return cpu_possible_mask;
}

static inline bool housekeeping_enabled(enum hk_type type)
{
 return false;
}

static inline void housekeeping_affine(struct task_struct *t,
           enum hk_type type) { }

static inline bool housekeeping_test_cpu(int cpu, enum hk_type type)
{
 return true;
}

static inline void housekeeping_init(void) { }
#endif /* CONFIG_CPU_ISOLATION */

static inline bool housekeeping_cpu(int cpu, enum hk_type type)
{
#ifdef CONFIG_CPU_ISOLATION
 if (static_branch_unlikely(&housekeeping_overridden))
  return housekeeping_test_cpu(cpu, type);
#endif
 return true;
}

static inline bool cpu_is_isolated(int cpu)
{
 return !housekeeping_test_cpu(cpu, HK_TYPE_DOMAIN) ||
        !housekeeping_test_cpu(cpu, HK_TYPE_TICK) ||
        cpuset_cpu_is_isolated(cpu);
}

#endif /* _LINUX_SCHED_ISOLATION_H */

Messung V0.5
C=91 H=90 G=90

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge