linux/drivers/staging/lustre/lustre/include/lustre_nrs_fifo.h
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * GPL HEADER START
   4 *
   5 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   6 *
   7 * This program is free software; you can redistribute it and/or modify
   8 * it under the terms of the GNU General Public License version 2 only,
   9 * as published by the Free Software Foundation.
  10 *
  11 * This program is distributed in the hope that it will be useful,
  12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14 * GNU General Public License version 2 for more details.
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * version 2 along with this program; If not, see
  18 * http://www.gnu.org/licenses/gpl-2.0.html
  19 *
  20 * GPL HEADER END
  21 */
  22/*
  23 * Copyright (c) 2014, Intel Corporation.
  24 *
  25 * Copyright 2012 Xyratex Technology Limited
  26 */
  27/*
  28 *
  29 * Network Request Scheduler (NRS) First-in First-out (FIFO) policy
  30 *
  31 */
  32
  33#ifndef _LUSTRE_NRS_FIFO_H
  34#define _LUSTRE_NRS_FIFO_H
  35
  36/* \name fifo
  37 *
  38 * FIFO policy
  39 *
  40 * This policy is a logical wrapper around previous, non-NRS functionality.
  41 * It dispatches RPCs in the same order as they arrive from the network. This
  42 * policy is currently used as the fallback policy, and the only enabled policy
  43 * on all NRS heads of all PTLRPC service partitions.
  44 * @{
  45 */
  46
  47/**
  48 * Private data structure for the FIFO policy
  49 */
  50struct nrs_fifo_head {
  51        /**
  52         * Resource object for policy instance.
  53         */
  54        struct ptlrpc_nrs_resource      fh_res;
  55        /**
  56         * List of queued requests.
  57         */
  58        struct list_head                fh_list;
  59        /**
  60         * For debugging purposes.
  61         */
  62        __u64                           fh_sequence;
  63};
  64
  65struct nrs_fifo_req {
  66        struct list_head        fr_list;
  67        __u64                   fr_sequence;
  68};
  69
  70/** @} fifo */
  71#endif
  72