| /* |
| * GPL HEADER START |
| * |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 only, |
| * as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License version 2 for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * version 2 along with this program; If not, see |
| * http://www.gnu.org/licenses/gpl-2.0.html |
| * |
| * GPL HEADER END |
| */ |
| /* |
| * Copyright (c) 2014, Intel Corporation. |
| * |
| * Copyright 2012 Xyratex Technology Limited |
| */ |
| /* |
| * |
| * Network Request Scheduler (NRS) First-in First-out (FIFO) policy |
| * |
| */ |
| |
| #ifndef _LUSTRE_NRS_FIFO_H |
| #define _LUSTRE_NRS_FIFO_H |
| |
| /* \name fifo |
| * |
| * FIFO policy |
| * |
| * This policy is a logical wrapper around previous, non-NRS functionality. |
| * It dispatches RPCs in the same order as they arrive from the network. This |
| * policy is currently used as the fallback policy, and the only enabled policy |
| * on all NRS heads of all PTLRPC service partitions. |
| * @{ |
| */ |
| |
| /** |
| * Private data structure for the FIFO policy |
| */ |
| struct nrs_fifo_head { |
| /** |
| * Resource object for policy instance. |
| */ |
| struct ptlrpc_nrs_resource fh_res; |
| /** |
| * List of queued requests. |
| */ |
| struct list_head fh_list; |
| /** |
| * For debugging purposes. |
| */ |
| __u64 fh_sequence; |
| }; |
| |
| struct nrs_fifo_req { |
| struct list_head fr_list; |
| __u64 fr_sequence; |
| }; |
| |
| /** @} fifo */ |
| #endif |