Hi Arnaldo / Ian
| Tomorrow I'll try to review this patch series and take into account
| your opinion when deciding which ones are pure bug fixes worthy for
| pushing to DaveM and then to Linus.
I am not fussy about getting the patches into 2.6.20 at all cost. I am
reconsidering
the add48/sub48 and the dccp_inc_seqno functions/macros.
The reason is something which I initially didn't consider: Ian reminded me that
the
address of a bitfield (e.g. ccid3hcrx_seqno_nonloss). This means that
dccp_inc_seqno
is of little use for this purpose - and so are, likely, the add48/sub48
functions.
Please see below for a suggestion of an _inc48() macro which would work in this
case.
Since I expect that the sub48/add48 functions will be needed mostly for
bitfields and
not for 64-bit values of DCCP internal structures, it may be good to leave
those patches
`on ice' and give Ian's patch the preference.
Ian I would appreciate input on how and where such subtraction/addition
functions shall
be used. Maybe it is better to just just a set of macros, ditch the sub48/add48
functions.
Gerrit
+++ b/net/dccp/dccp.h
@@ -102,6 +102,7 @@ extern int sysctl_dccp_tx_qlen;
#define TO_UNSIGNED48(x) (((x) >= 0)? (x) : COMPLEMENT48(-(x)))
#define _add48(a, b) (((a) + (b)) & DCCP_MAX_SEQNO)
#define _sub48(a, b) _add48((a), COMPLEMENT48((b)))
+#define _inc48(seqno) (seqno) = _add48((seqno), 1)
static inline void dccp_set_seqno(u64 *seqno, u64 value)
{
--- a/net/dccp/ccids/ccid3.c
+++ b/net/dccp/ccids/ccid3.c
@@ -981,10 +981,8 @@ static int ccid3_hc_rx_detect_loss(struc
loss = 1;
ccid3_hc_rx_update_li(sk, hcrx->ccid3hcrx_seqno_nonloss,
hcrx->ccid3hcrx_ccval_nonloss);
+ _inc48(hcrx->ccid3hcrx_seqno_nonloss);
tmp_seqno = hcrx->ccid3hcrx_seqno_nonloss;
- dccp_inc_seqno(&tmp_seqno);
- hcrx->ccid3hcrx_seqno_nonloss = tmp_seqno;
- dccp_inc_seqno(&tmp_seqno);
while (dccp_rx_hist_find_entry(&hcrx->ccid3hcrx_hist,
tmp_seqno, &ccval)) {
hcrx->ccid3hcrx_seqno_nonloss = tmp_seqno;
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html