blob: 3b5418eac6c44297eb26e61b051b363fa1fce428 [file] [log] [blame]
/*
* 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