[LU-3806] separate SESSION FLAG for server and client stack. Created: 21/Aug/13  Updated: 07/Feb/14  Resolved: 05/Feb/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.5.0
Fix Version/s: Lustre 2.6.0, Lustre 2.5.1

Type: Bug Priority: Minor
Reporter: Di Wang Assignee: Di Wang
Resolution: Fixed Votes: 0
Labels: mn4

Severity: 3
Rank (Obsolete): 9835

 Description   

In ptlrpc_server_handle_request, it init the session key for each request,

rc = lu_context_init(&request->rq_session, LCT_SESSION | LCT_NOREF);

But the session on client stack share the same flag(LCT_SESSION), which will make the server allocates client stack session info for each request, if we put server and client on the same node.

"
00000100:00000040:1.0:1376984745.821299:0:4570:0:(service.c:1768:ptlrpc_server_request_get()) RPC GETting export ffff8800584a1400 : new rpc_count 1
00000100:00000001:1.0:1376984745.821300:0:4570:0:(service.c:1770:ptlrpc_server_request_get()) Process leaving (rc=18446612134365602816 : -131939343948800 : ffff88007a45a400)
00000100:00000040:1.0:1376984745.821301:0:4570:0:(lustre_net.h:3281:ptlrpc_rqphase_move()) @@@ move req "New" > "Interpret" req@ffff88007a45a400 x1443873055311032/t0(0) o36>3bbcfa2a-42a0-4600-a8c2-72e622f1a5b4@0@lo:0/0 lens 488/0 e 0 to 0 dl 1376984751 ref 1 fl New:/0/ffffffff rc 0/-1
00000020:00000010:1.0:1376984745.821304:0:4570:0:(lu_object.c:1639:keys_init()) kmalloced 'ctx->lc_value': 320 at ffff8800584c4a00.
02000000:00000010:1.0:1376984745.821305:0:4570:0:(capa.c:416:lu_capainfo_key_init()) kmalloced 'value': 128 at ffff8800585a5b40.
00000020:00000010:1.0:1376984745.821307:0:4570:0:(lu_ucred.c:53:lu_ucred_key_init()) kmalloced 'value': 72 at ffff8800585a5640.
00000020:00000010:1.0:1376984745.821308:0:4570:0:(tgt_main.c:131:tgt_ses_key_init()) kmalloced 'value': 56 at ffff880058828c80.
00000008:00000010:1.0:1376984745.821309:0:4570:0:(osc_dev.c:149:osc_session_init()) slab-alloced 'info': 424 at ffff880053edba48.
00020000:00000010:1.0:1376984745.821311:0:4570:0:(lov_dev.c:173:lov_session_key_init()) slab-alloced 'info': 400 at ffff8800584821e8.
00008000:00000010:1.0:1376984745.821312:0:4570:0:(echo_client.c:710:echo_session_key_init()) slab-alloced 'session': 8 at ffff88007cd515f8.
00000080:00000010:1.0:1376984745.821314:0:4570:0:(lcommon_cl.c:154:ccc_session_key_init()) slab-alloced 'session': 184 at ffff88007a6e5928.
00000080:00000010:1.0:1376984745.821316:0:4570:0:(vvp_dev.c:104:vvp_session_key_init()) slab-alloced 'session': 104 at ffff88007c5e2748.
00000100:00000200:1.0:1376984745.821316:0:4570:0:(service.c:1977:ptlrpc_server_handle_request()) got req 1443873055311032
"

Though this happens rarely in the real world, we still should fix it.



 Comments   
Comment by Di Wang [ 21/Aug/13 ]

http://review.whamcloud.com/7412

Comment by Peter Jones [ 05/Feb/14 ]

Landed for 2.6. May consider for b2_4 and/or b2_5

Comment by Jian Yu [ 07/Feb/14 ]

Patch was cherry-picked to Lustre b2_5 branch.

Generated at Sat Feb 10 01:37:03 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.