[PATCH] Getting rid of ftape in the kernel / dynamic buffer allocation

Kai Harrekilde-Petersen (khp@pip.dknet.dk)
Tue, 17 Oct 1995 18:11:56 +0100 (MET)


Hi everyone,

(If youre recieving this twice, it's because I'm sending this to both
the kernel and the tape list. If you recieve this thrice, it's
because you're Linus Torvalds :-)

As most (all, I suppose) ftape users have noticed, Linus has disabled
some (not all it seems by the bug reports) of the ftape support in the
kernel as of v1.3.33.

In my opinion this is good. Yes, let's take that one again: THIS IS GOOD!

Why? -- because the only thing that ftape does at kernel boot time is
allocating an awfull static 96Kbyte DMA buffer, which has to meet some
alignment and placement requirements. Basically, ftape must be able
to set up a single dma transaction that writes 32Kbyte into a buffer.

Included below are two patches. One for ftape-2.02e, and one for
ftape-2.03b. They do the same thing; they eliminate the need for the
statically allocated buffer, by allocating the buffer at module
insertion time (and deallocating it at module removal time, of
course).

The patch is really a brush-up of an old patch I did in April, but Bas
didn't want it at the time. Since I have removed my ftape drive from
my system, I can only verify that the patches will apply & compile
cleanly (on v1.3.35, at least), and I'm able to insmod/rmmod several
times without any glaring problems/oops'es.

[Linus, please hunt down the (few) ftape related things in the kernel
and throw 'em out. We could, if you prefer, include ftape as a
module-only option in the kernel (you probably don't).]

Kai

-- 
Kai Harrekilde-Petersen  <khp@pip.dknet.dk>  Linux: choice of a GNU generation
>> Inside every little problem there's a BIG problem, struggling to get out <<
    PGP Key fingerprint = F6 33 E0 4E 01 17 85 8C  4F 7F 1F F8 14 E7 86 1D

begin 644 dynamic-buffers-2.02e.diffs.gz M'XL("&';@S`"`V1Y;F%M:6,M8G5F9F5R<RTR+C`R92YD:69F<P"M6/M3VT@2 M_AG_%1U2F\A8,I:-S<.0P@D.Q08,A\DF=:F<2I9&ELYZ^/2`L%OLWW[=,Y*M MA\WC.)(R9C3=,_JZ^^N'Z5@6*$DX@B!TIMM6K,^9TFZVVFS[0I\QRW$9K%JL M*8JR7F3C(O#A0K\'4*&M'K3:!]TVJ/O[W5JCT5BI;^,F87!IQ*#NXO^#]LY! M:U=('!^#TMN7=Z'!/X^/:_"V!E^&UZ/AN79Y=0/\YPB4$TU+5S7\0WS%+^=G MHZ_?:_!M<#TZ&YV.`18"WW37Q<\H#ATC5N9A$`?Q_9Q%->73Y<75V?D0<IOG MSIR!8@6>$RM6J'M,F0>.'[,0%&]GKP?*9;O6>)F<Y0<*'L[\:6PK(3,3@RV5 MX<U'U]KGF\'54/OX]?/GX?7XJ(.O?C+\^/5T8P,U3VMP?D((\+]0W[@&-7.] M/<7WD.EFTX!U#U;;-;]CA6T[JVU;D,K;MW?0[:)@SKX];M^>K+:X@0$0(G#Z M^$+XW0I"D!P$L]4'!P[%&9J?>-HDL2P61GUH-)PZ_%53"'2Q^`.<GTW=-$,6 M12@J29/[F&W5@<N*+75HH+XM('BU\=D_A_U:@Q1L;XG?^,BP=7_*3(@#V+2< M>!/NG-@&\][7/<<`])_`T&,'`0FLO.8F*,K,GF=JML67U1>C>T'Q8C^<G_T: ME$2B6(\3DKC3G=CQI]4=I"GB,%6%9\Y</'G20>Y")V8K/21]\IB+I%M>ZB.9 M6(D$N@>=G)-T]UOD)>(7><D#N0<Z2DW1A$MP-1(9+=SB;R]S/PK9?S27^?5: MH[#/"/PH7K\9W0DQO+D>?!IJG[^.).C*L)E7L%GO9YZ*MDS<^$4`VVMAL)\& MV/[?`+:K`'?WEP!W>!3R3X*WAH$@:*SH&"82MH\Q,76#B>Z"E?@&A4#4K'%7 M5]@O9#>?X_(\NV#8K9-YW$:(?TY0R%EN$MD9,4AP&SCFRGU<OV8C.;%0B]C4 M8WZ,^SE+I)&S4BZ9F_I3@N*68F?]:8]8Y0N/>L&+[5^R/.??=B=G>57NH>75 MU/)D1C3_6\<WW,1D<.@Z?O)K.S)L9C;M#[5&^8GGT7)>9#,.=0-9JFEO/IZ5 M9@@O<Q6>$BW=*#-/]?%J7*K[G@_1"ME2G'0.U'R<['&T]N0]48V4P!#J."`5 M!)VIKZ]^Y.G_#L+5X/(T4WJD1]ZVZ>D5V%-S;^;7*N^'CSFAJIQ/.[+:*07\ MJ0CM6SU<1#7%(&SEDA2RW>CK^3D&;ZW!,^86#-)\Z$]!A_W>EPF<7`ST"9:0 MJ8B#B=)G,`W@+L`(N0O"&9@(-:97CWE!>,_58)G$HXIGUB;<!*!3&$-L.Q&& M%A8&$4S"8,9\C#$*M0#*I1+78]B)/XLH-7?:7R@^EVF94G+EC7Z4M5`6YKL$ M@MHM4@I>Z<=/?/>TU/P#MYU=COIY],X1A`P\7MUT">?=3A9=JW\2G[P#>96X MPP@\3_=->;GJ!H1J."52HE(`RX\E*5&-)>%RF*#/.GY@(A7A+SE;H@H;<9W+ M>2I==Y,BPRJ5PU(V?^EIC5<I*N>!M3"6\D/E4#=B;/:,0_%SOOZ4P+*TF#XC M%@NV)T9RZ$BR.)8H6,DV]O?DG4YJ<XH5>9TZ<ATKNO<-SKP/Y$U93&$$O><A M)`(D7W-&,2+1!!C;V%:X6$ZZ][@6X)MC"`6>B"5SKC;;355I=UN=)N?AR3V< MZ+<83Y^:,'*8Y\`[C%P=8_.+KW.%^2BAB\")I\.%.#]D+F8U4QS.=^#SJR1D MT/Z7#VF$4,Q-6:P%(29)OFEA!^0T)O*\MMPAT4+D_,FP1ON+BF6!*#[J+X#` MX+P87FCG9^.;,3&`%20^!4LA!\EP9SN&3<\S_C/IA;.<2HKR;\>;"TE<@O<7 MXNMAX31J+_AZ7=3QCB717>$0J_>KP>F0]PYP>"B$ZW7$*$ZP:!`O`"24KB@J MOL\#@9KB40QO)'0-S:QQ&Z_'!&^:`X_?I<YIF*X&V=M@3ZBF%TY/;_5S5Q$: MK)`Q;:Y/622=?KY*^V>9:Y`O!M\U]#YM<')R/1R/Z^+J:.TAXHY7S3RRZA'\ MWX(./^'K""MX@9F@G\)<-V9X)MJ*46F%6+@N)8W89F"&#CI16H-0<8\?3JP) MT;2>@P4>?K_D+=62/2?.*W;:,@]1!%E`I$NXY74`M-3M5G=[OPN24:=LWU$H MY<-'/8)S70_MX!:O*TWTZ/C6\9C1]-VZ2*1JJRNK;6BH.SVYTUN0O+C(\/O9 M3=J095XP/+OD*P_4L`J83ED,65.8]I*+8E)WB=\I]+,$D2:D)F]X*3L#%#.S MQ*FRCFVO1)Y53\EOXDRS/0W1+*_^D18M,2B@HD>_@[_+:WU2P%_Q5UN"#B+] MFYF_103'\-M\4Z[D9KG0@R]-]DL5:G(&0Q6M7UQ);K'.;9XVZ8NB@W'O07]- M88N:M("@(3.9+&5-!$_'-.(RW4_F$O;<:,=\K[ZD!%_0@2^HH'!_7&TT4A\L MX/[#_YE!3PU],9H7Z-7["Q9Y4Q1>Z$P!D4!%.(IJT)(ZIB8SO?5FI@U64D/E M4'YLQG$M?N"&.(N0/WOO09!07@,W,68'!5T9K1&&/K`P#,(WE4L\`,,$R]4B M$6/`^A]:\.Y=`25%25]U`Z%>\H]4X,)Z"5@9RL\%V>+)&P^+T[,O1A*&6$`J M'R:(V0Q%CB!P30WE/3V:]2GF,-+B`'V#%M#NL,2'3@K9U(FP7-8,&X^YE>`? M9Y]4=5?C?G`Q^/WR6D[)8[,.;XZ*4'(OKNA(#9<'JV#ME"C2I055C"XQ#Z7+ M2W1S<A1]JKPY6'AX&N!O,1PI`C-/D<&72Z#25=XZ%C;TP,>*G.Z7%716F0PB M+.=CQ$N&/UD8<!>A8!/\CP4ZUN40V4'BFLBLP2U6YN@B]S`>GO[Q/EJ,OP`F M)"Z5#%OPT;?,QQHE?5OZ]5#C@ZSH'AM[?;H8;J6].)("S5C5W!JA3-7($:C] M4H7E^+8S00FZ6S!GH:BB)N3P<V1VO"<G\W:/VCMU7TW[.YZ)*._4,N9X138J M:E@DI%=X';]SIT-W;K=:<CN;H"Z<)4\HY)E18AB89JS$32=8'.AGT$>%.I:* MGV*/I[BCZ-E+`E[)OWGZY;=:0:,;_Q=FR0<8*93J+PVOC4I^2)OF"E\N<B"> ME3OC2$C`FS<98K)?H9!EJ!1J#AJ0DGNTN[M\LM?92UO0K#3[1AT8==^\WD"7 M<PR6*[V4US1\I='KZUN^9XQGGYC.BL+K)<,H^_%!D?W,893]BF%4>6B+LNI> M872WRT=WO<=&=_A)%3>-BY3R,SV)`P3;>FIBA0_%Z!>TL>2'6%RJAX<2?<-& MH\XOL[./G-G8V:M,D%=,^4ICY%L]=*C/70R<],A+;YT-884OE"O9_KJMA=G. ;<L;\O+%/?G-Y^M-_V9OE!N3_!2P`#A-N'0`` ` end

begin 644 dynamic-buffers-2.03b.diffs.gz M'XL("('>@S`"`V1Y;F%M:6,M8G5F9F5R<RTR+C`S8BYD:69F<P"M67ESVDH2 M_]M\B@Y^+Q%&P@B,+^R4B4V\WOA:8V]2F\JJA#1"L^A@==CAO?)^]NV>D4`" M?&W626$R,]W3\^N[8W/'`2V-+B&,^&C32<P)TUJ-9GNX>1P&#A^E$8.5JQ5- MTYXA6AN8"5R84VCM@-[<[VSO=]J@[^UU*O5Z?37'M=N4P965@(XD._M;^GYK M3Y(<'8&VUU1WH"X^CXXJL(Y_83!A%C<]2%B<0!)"S!(PP?',$80!^%-Y#]CL MGGGAQ&=!`O$T3IA/]!IWX#O\]I>KP2T<0M4.[;`*/Z!;J8N-JMBIEK<@<5E0 M@35FN2%4UVWF\(#!R=7)%>A5^/CQM]O>S6G_M@+,BUG%?AK<"W.,M%X9VWQQ M-;3Y[NN1G5&4@6UOEX#=WB-@Q6<&[)?^S67_W+BZO@7Q<PC:B6%DJP;^0W[% M+^=GEW??*O"U=W-Y=GDZ`)@1?#4]#S_C).)6HDVB,`F3Z83%%>WXZN+Z[+P/ MA<,3CEK2G-#GB>9$IL^T2<B#A$6@^5N[VZ!=M2KUM]$Y0:CAY2P8):X6,3NU MV)P92GYY8WR^[5WWC4]WGS_W;P:';7SZ2?_3W>G:&G(>5>#\A!`0_T)^@PH\ MIT_Y/6*FW;#@J8W5>BV>>+UN2U3/Z[<C]-M1]:90,`!"!!R-F;X[800*1S"; M7>!P(.\P@M0WAJGCL"CN0KW.:_!G12/0Y>)WX#\:IFU'+(Z15%&&TX1MU$#0 MRB,UJ"._#2!XC<'9/_KH5\1@<T/^QBW+-8,1L\EQJPY/JO#`$Q?L:6#ZW`*T MG]`R$XZ.'#I%S@W0M+$[R=ELRB^K!2.YH"S8=_ZC6X$%DC@QDY0H'DR>\&"T M?((XQ0*F9>(QG\B=%PWD(>()6VDAV<YS)I(=>:N-Y&1+1M)N%HRDV196(GZ1 ME3R2>:"A5#1#FH1@HY#2H@WQ>E784<3^;7@LJ%7JI7-6&&!(?O(PFA-B>'O3 M.^X;G^\N%>BH4"TRJ-:ZN:6B+E,O>1/`[I,PN"\#[/YO`+O/`]S>)GS%)\%; M04>08:QL&#*CV##RPB$F-B<-+'*!N%$1IJZQGQC=`H'+Z_2";O<4S?,Z0OP+ MA)+.\=+8S0.#`O<AMU>>$_P-%X,3BXR8C2CSXGD1)3+/64F73FSS)4(II3Q9 M>]DB5MG"LU;P9OV_J'E=W4;-ZYGF28VH_G4>6%YJ,SCP>)#^W(PME]D-]V.E MOKCC^[1<)*DFD6EAE&JXU>>STACA99XF4J)C6HN19WE[-2[+YTH0;>TC2JVM MU1"MH%U`:Q<1+J"U*]#:57=E-;(`AF0G`%E"D(\"<_66;_XKC%:#*]+,PI89 M^YNV;R[!GJF[6EQ;>A]NTSLZHESMM%2]O>#PI]*U[\UHYM7D@[!12%(8[2[O MSL_1>2MUD3$WH)?EPV"$)>[>]I<AG%STS"&6D!D)QT2)Q>@HA(<0/>0AC,9@ M(]287GWFA]%4L,$R27B5R*P-N`W!)#?&PI;'Z%I8&,0PC,(Q"]#'R-5"6"R5 M!!_+38-Q3*FYW?I"_CE/RY22EU[T?9$+96%Q2B)HW&-(09&^_\"WW]T.C)O^ M>;\WZ'>+T)TC`CER(FMM$<@[K=RU5O^D`9D&!E4*'%;H^V9@J_-5+R1(HQ%% M)*H#L/:81R0JL!1<CE(T6!Z$-L8A_*7F2U1>(Z@3M1A'GY*D'%ZUI<NR4/[6 MV^J_Q&@Q"3P)XT)R6+H4.QXV?L6E^#EY^I;0<8R$/K&7DZ&>PA&G*TGCNWM4 MQM;W=M2M=J9S<A3U*79D.DX\#2P1=A_)FG*'0O?Y(/Q'>D>QX(P31*(!,'"Q MI_"PEO2FN!;BR]%_0E\ZDCW1&ZV&KK4ZS79#!.'A%$[,>W2FXP9<<N9S>(]N M:Z)C?@E,P;#H(B0(G/@F7,C[(^9A2K/EY>($[E]3_]WZ9P"9>Y##C5ABA!%F M2'%HI@>/6E&1Y(WY"8468OX'PP+M3ZJ4):*XU9T!@9YYT;\PSL\&MP-R?R=, M`W*64@)2X<'EEDO[>?"SZ<%Y0B5&Q=>)SD*10HCF0GX]*-U&O858K\DBGCL* MR0H'6+I?]T[[HG&`@P-)7*LA1DF*%8-\`!!1MJ+I^)Y'`C7#H^S>&,T-5+,A M=/PT)BAI`3PA2TW$8!(-\M=@0ZAG`F>W-[L%420')V+,F)@C%BNGGZ^SYED5 M'-2+WC<#K<_HG9S<]`>#FA0=M=U'W%'4W"*7+4+\F87#8WR.U((?VBG:*4Q, M:XQWHJX8U56(A>=1QDA<!G;$T8BR`H0J>_S@B2%)LV(.9G@$W05K6:[7"^2B M7*<CDPA),`K(7`GWH@C`*F&SV=G<ZX!BU2C5MS7*]_#)C.'<-",WO$=QE:$9 M']USGUF-P*O)+*HWMU2]!75]JZ.VMV=!7@K2_W9VFW5CN17TSZ[$RB-UJQ*F M4YH)91UAUDC.*DG3H_A.KI\GB"P;-42W2ZD9H)R6%1$J:]CS*F19M2SX#?DH M/U.7G?+J'V76#X,&.EKT>_C/XEJ7&(@G_FPIT$:D?[>+4L1P!+]/JNI28E9+ M#?A<93]UR::@,&31_"F8%!9K0N=9ASZK.)BP'K37#+:X00L(6D23M2QJ(GA8 M$5H>,X-THF##C7HL-NKSD!#(<!#(4%"2'U?K]<P&2[A_#W[DT%,W7_;F&7JU M[BR*O"L3SWAF@"B@(QQE-JA)$U.3G4E=S;G!RM"P=*FX-H]Q37'AFKR+D#_[ MX$.84EX#+[7&^R5>>5@C#`-@411&[Y:$>!0C1<$6`S$Z;/"Q">_?EU#2M.RI M:PCU//XHI5A86P!6A<5]&6SQYK7'V>WY%RN-(JP>M8]#Q&R,)(<0>K:!]+X9 MC[OD<^AI28BV00NH=YCC0S=%;,1CK)4-R\5K[A7XV]FQKN\8P@XN>G^]NE&S MX%&MP;O#,I3"BI=X9(HK@E72=A8HLJ59J+B\PCR4+<_1+="1]^EJM3>S\,S! MU]$=R0-S2U$A4!=`)5'6N8/=/(B9H@CW\_(YKTQZ,=;R-+Q6X0\6A<)$R-ED M_,?J'(MRB-TP]6R,K.$]EN5H(E,8]$___B&>S;X`AD2N+"BV9*/K+,`:)7LM M_7JLB"E6/#7$O#R?;&6-.`8%&K#JA35"F:J10]"["Q46#UP^1`J2+9RP2%91 M0S+X"49VE%,$\]8V]7;ZGIXU=R(34=ZIY)'C%[)1F<,L(?V"U0F9VVV2N=5L MJJU\?#HSEF)`(<N,4\O"-..D7C:^$D"_(GPLA8XYXY>BQTNQHVS9\P"\,OX6 MPZ^0:D487?N_1):B@Q%#I?96]UI;R@]9Q[P4+V<Y$.\JW'$H*>#=NQPQ-5@* M(7-7*=4<-!TE\VAMM\18;RL?F^:EV5?JP*CUSO\#BELL,_AYXU31?J7O6QB_ M_GKG]\*(=C=WD:<GM++^>LM`RGU^6.2^<B#UAIG="MJ7QG<[8GRW_=SX#C^I M\*:1D;:X9Z9)B&`[+TVM<#/[#T5CH`01UICZP8%"W[#?J`EAMO8P=-:W=I>F MR"LF?0NCY'LSXM3NSH9.9NQG4N>#6&D+BP5M]ZFCI?G.?,[\NM%/\?#B!*C[ /MI<5AN3_!=G%GK[/'@`` ` end