Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/infiniband/hw/hfi1/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  user_exp_rcv.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/*
 * Copyright(c) 2020 - Cornelis Networks, Inc.
 * Copyright(c) 2015 - 2017 Intel Corporation.
 */


#ifndef _HFI1_USER_EXP_RCV_H
#define _HFI1_USER_EXP_RCV_H

#include "hfi.h"
#include "exp_rcv.h"

struct tid_pageset {
 u16 idx;
 u16 count;
};

struct tid_user_buf {
 struct mmu_interval_notifier notifier;
 struct mutex cover_mutex;
 unsigned long vaddr;
 unsigned long length;
 unsigned int npages;
 struct page **pages;
 struct tid_pageset *psets;
 unsigned int n_psets;
};

struct tid_rb_node {
 struct mmu_interval_notifier notifier;
 struct hfi1_filedata *fdata;
 struct mutex invalidate_mutex; /* covers hw removal */
 unsigned long phys;
 struct tid_group *grp;
 u32 rcventry;
 dma_addr_t dma_addr;
 bool freed;
 unsigned int npages;
 struct page *pages[] __counted_by(npages);
};

static inline int num_user_pages(unsigned long addr,
     unsigned long len)
{
 const unsigned long spage = addr & PAGE_MASK;
 const unsigned long epage = (addr + len - 1) & PAGE_MASK;

 return 1 + ((epage - spage) >> PAGE_SHIFT);
}

int hfi1_user_exp_rcv_init(struct hfi1_filedata *fd,
      struct hfi1_ctxtdata *uctxt);
void hfi1_user_exp_rcv_free(struct hfi1_filedata *fd);
int hfi1_user_exp_rcv_setup(struct hfi1_filedata *fd,
       struct hfi1_tid_info *tinfo);
int hfi1_user_exp_rcv_clear(struct hfi1_filedata *fd,
       struct hfi1_tid_info *tinfo);
int hfi1_user_exp_rcv_invalid(struct hfi1_filedata *fd,
         struct hfi1_tid_info *tinfo);

static inline struct mm_struct *mm_from_tid_node(struct tid_rb_node *node)
{
 return node->notifier.mm;
}

#endif /* _HFI1_USER_EXP_RCV_H */

Messung V0.5
C=82 H=96 G=89

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