cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hbm.h (1205B)


      1/* SPDX-License-Identifier: GPL-2.0
      2 *
      3 * Copyright (c) 2019 Facebook
      4 *
      5 * This program is free software; you can redistribute it and/or
      6 * modify it under the terms of version 2 of the GNU General Public
      7 * License as published by the Free Software Foundation.
      8 *
      9 * Include file for Host Bandwidth Management (HBM) programs
     10 */
     11struct hbm_vqueue {
     12	struct bpf_spin_lock lock;
     13	/* 4 byte hole */
     14	unsigned long long lasttime;	/* In ns */
     15	int credit;			/* In bytes */
     16	unsigned int rate;		/* In bytes per NS << 20 */
     17};
     18
     19struct hbm_queue_stats {
     20	unsigned long rate;		/* in Mbps*/
     21	unsigned long stats:1,		/* get HBM stats (marked, dropped,..) */
     22		loopback:1,		/* also limit flows using loopback */
     23		no_cn:1;		/* do not use cn flags */
     24	unsigned long long pkts_marked;
     25	unsigned long long bytes_marked;
     26	unsigned long long pkts_dropped;
     27	unsigned long long bytes_dropped;
     28	unsigned long long pkts_total;
     29	unsigned long long bytes_total;
     30	unsigned long long firstPacketTime;
     31	unsigned long long lastPacketTime;
     32	unsigned long long pkts_ecn_ce;
     33	unsigned long long returnValCount[4];
     34	unsigned long long sum_cwnd;
     35	unsigned long long sum_rtt;
     36	unsigned long long sum_cwnd_cnt;
     37	long long sum_credit;
     38};