Subject: Re: [PATCH 13/16] ehca: firmware InfiniBand interface

From: Jörn Engel <[email-masked]>
Date: Thu, 27 Apr 2006 14:37:01 +0200

On Thu, 27 April 2006 12:49:36 +0200, Heiko J Schick wrote:
> +u64 hipz_h_alloc_resource_qp(const struct ipz_adapter_handle 
> adapter_handle,
> +			     struct ehca_pfqp *pfqp,
> +			     const u8 servicetype,
> +			     const u8 daqp_ctrl,
> +			     const u8 signalingtype,
> +			     const u8 ud_av_l_key_ctl,
> +			     const struct ipz_cq_handle send_cq_handle,
> +			     const struct ipz_cq_handle receive_cq_handle,
> +			     const struct ipz_eq_handle async_eq_handle,
> +			     const u32 qp_token,
> +			     const struct ipz_pd pd,
> +			     const u16 max_nr_send_wqes,
> +			     const u16 max_nr_receive_wqes,
> +			     const u8 max_nr_send_sges,
> +			     const u8 max_nr_receive_sges,
> +			     const u32 ud_av_l_key,
> +			     struct ipz_qp_handle *qp_handle,
> +			     u32 * qp_nr,
> +			     u16 * act_nr_send_wqes,
> +			     u16 * act_nr_receive_wqes,
> +			     u8 * act_nr_send_sges,
> +			     u8 * act_nr_receive_sges,
> +			     u32 * nr_sq_pages,
> +			     u32 * nr_rq_pages,
> +			     struct h_galpas *h_galpas);

25 parameters?  If you tell me which drugs were involved in this code,
I know what to stay away from.  Might be the current record for any
code ever proposed for inclusion.

The whole patch is full of parameter-happy functions with this one
being the ugly top of the iceberg.  I sincerely hope this is not a
defined ABI and can still be changed.

Jörn

-- 
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it.
-- Brian W. Kernighan