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