Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/tools/perf/trace/beauty/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  sched_policy.c   Sprache: C

 
// SPDX-License-Identifier: LGPL-2.1
#include <sched.h>

/*
 * Not defined anywhere else, probably, just to make sure we
 * catch future flags
 */

#define SCHED_POLICY_MASK 0xff

#ifndef SCHED_DEADLINE
#define SCHED_DEADLINE 6
#endif
#ifndef SCHED_RESET_ON_FORK
#define SCHED_RESET_ON_FORK 0x40000000
#endif

static size_t syscall_arg__scnprintf_sched_policy(char *bf, size_t size,
        struct syscall_arg *arg)
{
 bool show_prefix = arg->show_string_prefix;
 const char *prefix = "SCHED_";
 const char *policies[] = {
  "NORMAL""FIFO""RR""BATCH""ISO""IDLE""DEADLINE",
 };
 size_t printed;
 int policy = arg->val,
     flags = policy & ~SCHED_POLICY_MASK;

 policy &= SCHED_POLICY_MASK;
 if (policy <= SCHED_DEADLINE)
  printed = scnprintf(bf, size, "%s%s", show_prefix ? prefix : "", policies[policy]);
 else
  printed = scnprintf(bf, size, "%#x", policy);

#define P_POLICY_FLAG(n) \
 if (flags & SCHED_##n) { \
  printed += scnprintf(bf + printed, size - printed, "|%s%s", show_prefix ? prefix : "",  #n); \
  flags &= ~SCHED_##n; \
 }

 P_POLICY_FLAG(RESET_ON_FORK);
#undef P_POLICY_FLAG

 if (flags)
  printed += scnprintf(bf + printed, size - printed, "|%#x", flags);

 return printed;
}

#define SCA_SCHED_POLICY syscall_arg__scnprintf_sched_policy

Messung V0.5
C=97 H=100 G=98

¤ Dauer der Verarbeitung: 0.13 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.