Skip to content

Conversation

kostyamikhaylov
Copy link

Реализовал read/write без обработки множественного доступа к очереди

cat /dev/dummy

[ 70.024624] dummy: opened.
[ 70.025521] dummy: closed.

echo "msg" > /dev/dummy

[ 83.638764] dummy: opened.
[ 83.640483] dummy: closed.

echo "msg2" > /dev/dummy

[ 87.277430] dummy: opened.
[ 87.278202] dummy: closed.

cat /dev/dummy

[ 89.583134] dummy: opened.
msg
[ 89.584001] dummy: closed.

cat /dev/dummy

[ 90.523417] dummy: opened.
msg2
[ 90.524281] dummy: closed.

cat /dev/dummy

[ 91.416847] dummy: opened.
[ 91.417282] dummy: closed.

@AblakatovMikhail
Copy link
Owner

Драйвер вмещает слишком мало сообщений. Возможно, это связано с размером буфера? Можно ли сделать его динамическим?

Запись:

# for i in  $(seq 1 1024) ; do echo "Message $i with some additional text to inc
rease its size" > /dev/dummy ; done
[  164.937616] dummy: opened.
[  164.937983] dummy: closed.
[  164.938303] dummy: opened.
[  164.938590] dummy: closed.
[  164.940991] dummy: opened.
[  164.941288] dummy: closed.
[  164.941601] dummy: opened.
[  164.941881] dummy: closed.
[  164.942177] dummy: opened.
[  164.942451] dummy: closed.
[  164.942882] dummy: opened.
[  164.945957] dummy: closed.
[  164.946284] dummy: opened.
[  164.946573] dummy: closed.
[  164.948833] dummy: opened.
[  164.949141] dummy: closed.
[  164.949438] dummy: opened.
[  164.949721] dummy: closed.
[  164.950027] dummy: opened.
[  164.950319] dummy: closed.
[  164.950626] dummy: opened.
[  164.953858] dummy: closed.
[  164.954188] dummy: opened.
[  164.954484] dummy: closed.
[  164.954946] dummy: opened.
[  164.957386] dummy: closed.
[  164.957709] dummy: opened.
[  164.957996] dummy: closed.
[  164.958313] dummy: opened.
[  164.958606] dummy: closed.
[  164.961244] dummy: opened.
[  164.961568] dummy: closed.
[  164.961879] dummy: opened.
[  164.962173] dummy: closed.
[  164.962479] dummy: opened.
[  164.965050] dummy: closed.
[  164.965385] dummy: opened.
[  164.965687] dummy: closed.
[  164.965990] dummy: opened.
[  164.966275] dummy: closed.
[  164.966575] dummy: opened.
[  164.969509] dummy: closed.
[  164.969839] dummy: opened.
[  164.970134] dummy: closed.
[  164.970441] dummy: opened.
[  164.970751] dummy: closed.
[  164.973220] dummy: opened.
[  164.973499] dummy: closed.
[  164.973749] dummy: opened.
[  164.973985] dummy: closed.
[  164.974225] dummy: opened.
[  164.974456] dummy: closed.
[  164.974696] dummy: opened.
[  164.976687] dummy: closed.
[  164.976872] dummy: opened.
[  164.977031] dummy: closed.
[  164.977193] dummy: opened.
[  164.977349] dummy: closed.
[  164.977512] dummy: opened.
[  164.977669] dummy: closed.
[  164.977833] dummy: opened.
[  164.977989] dummy: closed.
[  164.978162] dummy: opened.
[  164.978299] dummy: closed.
[  164.978441] dummy: opened.
[  164.978577] dummy: closed.
[  164.978807] dummy: opened.
[  164.981770] dummy: closed.
[  164.981931] dummy: opened.
[  164.982069] dummy: closed.
[  164.982218] dummy: opened.
[  164.982352] dummy: closed.
[  164.982495] dummy: opened.
[  164.982633] dummy: closed.
[  164.984294] dummy: opened.
[  164.984442] dummy: closed.
[  164.984600] dummy: opened.
[  164.984754] dummy: closed.
[  164.984909] dummy: opened.
[  164.985051] dummy: closed.
[  164.985200] dummy: opened.
[  164.985339] dummy: closed.
[  164.985483] dummy: opened.
[  164.985622] dummy: closed.
[  164.985759] dummy: opened.
[  164.985894] dummy: closed.
[  164.986035] dummy: opened.
[  164.986187] dummy: closed.
[  164.986332] dummy: opened.
[  164.986466] dummy: closed.
[  164.986606] dummy: opened.
[  164.990108] dummy: closed.
[  164.990264] dummy: opened.
[  164.990402] dummy: closed.
[  164.990546] dummy: opened.
[  164.990681] dummy: closed.
[  164.990836] dummy: opened.
[  164.990992] dummy: closed.
[  164.992755] dummy: opened.
[  164.992907] dummy: closed.
[  164.993051] dummy: opened.
^C[  167.135030] dummy: closed.

Чтение

# while (true) ; do read_msg=$(cat /dev/dummy) ; if [ -z $read_msg ] ; then brea
k ; fi ; echo $read_msg ; done
[  169.850338] dummy: opened.
[  169.852571] dummy: closed.
sh: 1: unknown operand
Message 1 with some additional text to increase its size
[  169.876611] dummy: opened.
[  169.877767] dummy: closed.
sh: 2: unknown operand
Message 2 with some additional text to increase its size
[  169.902140] dummy: opened.
[  169.904123] dummy: closed.
sh: 3: unknown operand
Message 3 with some additional text to increase its size
[  169.918066] dummy: opened.
[  169.918685] dummy: closed.
sh: 4: unknown operand
Message 4 with some additional text to increase its size
[  169.930510] dummy: opened.
[  169.931578] dummy: closed.
sh: 5: unknown operand
Message 5 with some additional text to increase its size
[  169.943316] dummy: opened.
[  169.943870] dummy: closed.
sh: 6: unknown operand
Message 6 with some additional text to increase its size
[  169.955702] dummy: opened.
[  169.956249] dummy: closed.
sh: 7: unknown operand
Message 7 with some additional text to increase its size
[  169.968342] dummy: opened.
[  169.968891] dummy: closed.
sh: 8: unknown operand
Message 8 with some additional text to increase its size
[  169.980761] dummy: opened.
[  169.981298] dummy: closed.
sh: 9: unknown operand
Message 9 with some additional text to increase its size
[  169.993378] dummy: opened.
[  169.993914] dummy: closed.
sh: 10: unknown operand
Message 10 with some additional text to increase its size
[  170.005734] dummy: opened.
[  170.006256] dummy: closed.
sh: 11: unknown operand
Message 11 with some additional text to increase its size
[  170.018317] dummy: opened.
[  170.019366] dummy: closed.
sh: 12: unknown operand
Message 12 with some additional text to increase its size
[  170.031047] dummy: opened.
[  170.031596] dummy: closed.
sh: 13: unknown operand
Message 13 with some additional text to increase its size
[  170.043438] dummy: opened.
[  170.043945] dummy: closed.
sh: 14: unknown operand
Message 14 with some additional text to increase its size
[  170.055710] dummy: opened.
[  170.056232] dummy: closed.
sh: 15: unknown operand
Message 15 with some additional text to increase its size
[  170.068307] dummy: opened.
[  170.068807] dummy: closed.
sh: 16: unknown operand
Message 16 with some additional text to increase its size
[  170.080652] dummy: opened.
[  170.081156] dummy: closed.
sh: 17: unknown operand
Message 17 with some additional text to increase its size
[  170.093153] dummy: opened.
[  170.093640] dummy: closed.
sh: 18: unknown operand
Message 18 with some additional text to increase its size
[  170.105451] dummy: opened.
[  170.105939] dummy: closed.
sh: 19: unknown operand
Message 19 with some additional text to increase its size
[  170.118959] dummy: opened.
[  170.119622] dummy: closed.
sh: 20: unknown operand
Message 20 with some additional text to increase its size
[  170.132248] dummy: opened.
[  170.132885] dummy: closed.
sh: 21: unknown operand
Message 21 with some additional text to increase its size
[  170.144970] dummy: opened.
[  170.145461] dummy: closed.
sh: 22: unknown operand
Message 22 with some additional text to increase its size
[  170.157337] dummy: opened.
[  170.157802] dummy: closed.
sh: 23: unknown operand
Message 23 with some additional text to increase its size
[  170.169652] dummy: opened.
[  170.170118] dummy: closed.
sh: 24: unknown operand
Message 24 with some additional text to increase its size
[  170.181927] dummy: opened.
[  170.182378] dummy: closed.
sh: 25: unknown operand
Message 25 with some additional text to increase its size
[  170.194369] dummy: opened.
[  170.195314] dummy: closed.
sh: 26: unknown operand
Message 26 with some additional text to increase its size
[  170.207079] dummy: opened.
[  170.207523] dummy: closed.
sh: 27: unknown operand
Message 27 with some additional text to increase its size
[  170.219394] dummy: opened.
[  170.219829] dummy: closed.
sh: 28: unknown operand
Message 28 with some additional text to increase its size
[  170.231581] dummy: opened.
[  170.232028] dummy: closed.
sh: 29: unknown operand
Message 29 with some additional text to increase its size
[  170.243753] dummy: opened.
[  170.244165] dummy: closed.
sh: 30: unknown operand
Message 30 with some additional text to increase its size
[  170.256176] dummy: opened.
[  170.256580] dummy: closed.
sh: 31: unknown operand
Message 31 with some additional text to increase its size
[  170.268219] dummy: opened.
[  170.268626] dummy: closed.
sh: 32: unknown operand
Message 32 with some additional text to increase its size
[  170.280375] dummy: opened.
[  170.280780] dummy: closed.
sh: 33: unknown operand
Message 33 with some additional text to increase its size
[  170.292575] dummy: opened.
[  170.292970] dummy: closed.
sh: 34: unknown operand
Message 34 with some additional text to increase its size
[  170.304740] dummy: opened.
[  170.305152] dummy: closed.
sh: 35: unknown operand
Message 35 with some additional text to increase its size
[  170.316876] dummy: opened.
[  170.317265] dummy: closed.
sh: 36: unknown operand
Message 36 with some additional text to increase its size
[  170.328928] dummy: opened.
[  170.329297] dummy: closed.
sh: 37: unknown operand
Message 37 with some additional text to increase its size
[  170.340996] dummy: opened.
[  170.341367] dummy: closed.
sh: 38: unknown operand
Message 38 with some additional text to increase its size
[  170.353107] dummy: opened.
[  170.353469] dummy: closed.
sh: 39: unknown operand
Message 39 with some additional text to increase its size
[  170.365279] dummy: opened.
[  170.365645] dummy: closed.
sh: 40: unknown operand
Message 40 with some additional text to increase its size
[  170.377375] dummy: opened.
[  170.377720] dummy: closed.
sh: 41: unknown operand
Message 41 with some additional text to increase its size
[  170.389331] dummy: opened.
[  170.389687] dummy: closed.
sh: 42: unknown operand
Message 42 with some additional text to increase its size
[  170.401533] dummy: opened.
[  170.401877] dummy: closed.
sh: 43: unknown operand
Message 43 with some additional text to increase its size
[  170.413801] dummy: opened.
[  170.414157] dummy: closed.
sh: 44: unknown operand
Message 44 with some additional text to increase its size
[  170.425829] dummy: opened.
[  170.426169] dummy: closed.
sh: 45: unknown operand
Message 45 with some additional text to increase its size
[  170.437928] dummy: opened.
[  170.438259] dummy: closed.
sh: 46: unknown operand
Message 46 with some additional text to increase its size
[  170.449979] dummy: opened.
[  170.450290] dummy: closed.
sh: 47: unknown operand
Message 47 with some additional text to increase its size
[  170.462157] dummy: opened.
[  170.462474] dummy: closed.
sh: 48: unknown operand
Message 48 with some additional text to increase its size
[  170.474205] dummy: opened.
[  170.474509] dummy: closed.
sh: 49: unknown operand
Message 49 with some additional text to increase its size
[  170.486393] dummy: opened.
[  170.486695] dummy: closed.
sh: 50: unknown operand
Message 50 with some additional text to increase its size
[  170.498335] dummy: opened.
[  170.498495] dummy: closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants