From 89caa7b18aef1bad190c50783ba67cb8866428ae Mon Sep 17 00:00:00 2001 From: eeb Date: Fri, 4 Oct 2002 19:24:28 +0000 Subject: [PATCH] . request buffering parameters as checked out on MCR . #warning + reduced strength assertion on unlined_me . fixed dynamically allocated IOVs getting freed too early --- lustre/include/linux/lustre_net.h | 4 ++-- lustre/ptlrpc/events.c | 6 +++--- lustre/ptlrpc/niobuf.c | 5 +++-- lustre/ptlrpc/service.c | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lustre/include/linux/lustre_net.h b/lustre/include/linux/lustre_net.h index a83a37c..3422642 100644 --- a/lustre/include/linux/lustre_net.h +++ b/lustre/include/linux/lustre_net.h @@ -62,8 +62,8 @@ #define OST_BUFSIZE (64 * 1024) #define OST_MAXREQSIZE (8 * 1024) #else -#define OST_NEVENTS 4096 -#define OST_NBUFS 40 +#define OST_NEVENTS 32768 +#define OST_NBUFS 160 #define OST_BUFSIZE (128 * 1024) #define OST_MAXREQSIZE (8 * 1024) #endif diff --git a/lustre/ptlrpc/events.c b/lustre/ptlrpc/events.c index e6e0a06..99b8b3a 100644 --- a/lustre/ptlrpc/events.c +++ b/lustre/ptlrpc/events.c @@ -126,13 +126,13 @@ int request_in_callback(ptl_event_t *ev) * thread servicing this event is effectively taking over * portals' reference. */ - LASSERT (!memcmp (&ev->unlinked_me, &rqbd->rqbd_me_h, - sizeof (ev->unlinked_me))); +#warning ev->unlinked_me.nal_idx is not set properly in a callback + LASSERT (ev->unlinked_me.handle_idx == rqbd->rqbd_me_h.handle_idx); if (atomic_dec_and_test (&service->srv_nrqbds_receiving)) /* we're off-air */ { CERROR ("All request buffers busy\n"); - LBUG(); + /* we'll probably start dropping packets in portals soon */ } } else diff --git a/lustre/ptlrpc/niobuf.c b/lustre/ptlrpc/niobuf.c index ada350b..46aa30f 100644 --- a/lustre/ptlrpc/niobuf.c +++ b/lustre/ptlrpc/niobuf.c @@ -239,8 +239,6 @@ int ptlrpc_register_bulk(struct ptlrpc_bulk_desc *desc) desc->bd_portal, source_id, xid, 0, PTL_UNLINK, PTL_INS_AFTER, &desc->bd_me_h); - ptlrpc_put_bulk_iov (desc, iov); - if (rc != PTL_OK) { CERROR("PtlMEAttach failed: %d\n", rc); LBUG(); @@ -255,6 +253,8 @@ int ptlrpc_register_bulk(struct ptlrpc_bulk_desc *desc) GOTO(cleanup, rc); } + ptlrpc_put_bulk_iov (desc, iov); + CDEBUG(D_NET, "Setup bulk sink buffers: %u pages %u bytes, xid %u, " "portal %u\n", desc->bd_md.niov, desc->bd_md.length, xid, desc->bd_portal); @@ -262,6 +262,7 @@ int ptlrpc_register_bulk(struct ptlrpc_bulk_desc *desc) RETURN(0); cleanup: + ptlrpc_put_bulk_iov (desc, iov); ptlrpc_abort_bulk(desc); return rc; diff --git a/lustre/ptlrpc/service.c b/lustre/ptlrpc/service.c index 3bbe3d3..740695b 100644 --- a/lustre/ptlrpc/service.c +++ b/lustre/ptlrpc/service.c @@ -50,7 +50,7 @@ static int ptlrpc_check_event(struct ptlrpc_service *svc, } if (err != PTL_EQ_EMPTY) { - CERROR("BUG: PtlEQGet returned %d\n", rc); + CERROR("BUG: PtlEQGet returned %d\n", err); LBUG(); } -- 1.8.3.1