Thread: [Kgdb-bugreport] [PATCH] avoid leaving netpoll in trapping mode by KGDBoE
Status: Beta
Brought to you by:
jwessel
From: Sergei S. <ssh...@ru...> - 2007-03-30 20:42:44
|
There is a couple of inconsistencies with calling KGDB driver's pre_exception() and post_exception() methods: - the pre_exception() method may be called several times in a row because of 'acquirelock' label preceding its call -- the code can go back to this label in SMP kernel and therefore netpoll's 'trapping' variable can be incremented more than once but will only be decremented once upon exit; - if KGDB hits a disabled breakpoint (can only happen on x86), the code will jump to 'kgdb_restore' label bypassing a call to the post_exception() method. Fix this by moving pre_exception() method call below kgdb_skipexception() check. Align the label and comment style, while at it... Signed-off-by: Sergei Shtylyov <ssh...@ru...> --- This patch is against linux2_6_21_uprev branch. Duh, sent with wrong subject, ignore the previous message please... :-< kernel/kgdb.c | 24 +++++++++++++----------- 1 files changed, 13 insertions(+), 11 deletions(-) Index: linux-2.6/kernel/kgdb.c =================================================================== --- linux-2.6.orig/kernel/kgdb.c +++ linux-2.6/kernel/kgdb.c @@ -825,13 +825,7 @@ int kgdb_handle_exception(int ex_vector, if (atomic_read(&debugger_active) == smp_processor_id() + 1) return 0; - acquirelock: - - /* Call the I/O drivers pre_exception routine if the I/O - * driver defined one - */ - if (kgdb_io_ops.pre_exception) - kgdb_io_ops.pre_exception(); + acquirelock: /* * Interrupts will be restored by the 'trap return' code, except when @@ -872,6 +866,13 @@ int kgdb_handle_exception(int ex_vector, if (kgdb_skipexception(ex_vector, linux_regs)) goto kgdb_restore; + /* + * Call the I/O drivers pre_exception routine + * if the I/O driver defined one + */ + if (kgdb_io_ops.pre_exception) + kgdb_io_ops.pre_exception(); + kgdb_info[processor].debuggerinfo = linux_regs; kgdb_info[processor].task = current; @@ -1317,9 +1318,10 @@ int kgdb_handle_exception(int ex_vector, put_packet(remcom_out_buffer); } - kgdb_exit: - /* Call the I/O driver's post_exception routine if the I/O - * driver defined one. + kgdb_exit: + /* + * Call the I/O driver's post_exception routine + * if the I/O driver defined one. */ if (kgdb_io_ops.post_exception) kgdb_io_ops.post_exception(); @@ -1357,7 +1359,7 @@ int kgdb_handle_exception(int ex_vector, if (debugger_step) mdelay(2); #endif -kgdb_restore: + kgdb_restore: /* Free debugger_active */ atomic_set(&debugger_active, 0); local_irq_restore(flags); |
From: Sergei S. <ssh...@ru...> - 2007-04-16 12:59:31
|
Hello, I wrote: > There is a couple of inconsistencies with calling KGDB driver's pre_exception() > and post_exception() methods: Erm, how about applying my recent patches? WBR, Sergei |
From: Amit S. K. <ami...@li...> - 2007-04-16 14:14:33
|
Hi Sergie, Ah... That slipped out of my schedule somehow. Sorry. Will apply them tomorrow, India time. -Amit On Monday 16 April 2007 18:30, Sergei Shtylyov wrote: > Hello, I wrote: > > There is a couple of inconsistencies with calling KGDB driver's > > pre_exception() and post_exception() methods: > > Erm, how about applying my recent patches? > > WBR, Sergei > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Kgdb-bugreport mailing list > Kgd...@li... > https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport |
From: Jason W. <jas...@wi...> - 2007-04-16 14:57:07
|
Sergei, I looked through the mails that I had from the kgdb-bugreport, and did not see a formal patch other than to the ethernet drivers. Did you have a patch for the NET_POLL that you wanted to submit? I am in the process of updating from 2.6.21rc3 -> 2.6.21rc7 and would be happy to review the changes you proposed. I also wanted to make sure that ARP handling was not disabled based on your proposed changes. I know I have a few other changes to review as a part of this merge. After that I will be submitting some MIPS and ARM fixes. Hopefully very soon I will be starting a git tree to attempt to merge KGDB to foster the merge into the main line kernel Thanks, Jason. Sergei Shtylyov wrote: > Hello. > > Amit S. Kale wrote: > >> Hi Sergie, >> > > I'm Sergei, not Sergie, BTW. :-) > > WBR, Sergei > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Kgdb-bugreport mailing list > Kgd...@li... > https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport > |
From: Sergei S. <ssh...@ru...> - 2007-04-16 14:34:39
|
Hello. Amit S. Kale wrote: > Hi Sergie, I'm Sergei, not Sergie, BTW. :-) WBR, Sergei |
From: Sergei S. <ssh...@ru...> - 2007-04-16 15:07:38
|
Jason Wessel wrote: > Sergei, > > I looked through the mails that I had from the kgdb-bugreport, and did > not see a formal patch other than to the ethernet drivers. Did you have I've submitted couple of KGDBoE patches (to one of which I've followed up with the PING message). > a patch for the NET_POLL that you wanted to submit? That one belonged to ne...@vg... (they're not in a hurry to apply it though :-). > I am in the process of updating from 2.6.21rc3 -> 2.6.21rc7 and would be > happy to review the changes you proposed. I also wanted to make sure > that ARP handling was not disabled based on your proposed changes. I No, why should it? > know I have a few other changes to review as a part of this merge. > After that I will be submitting some MIPS and ARM fixes. Grrr... I've just looked into mips-lite.patch and saw that my August patch fixing $fp trashing has never been applied. :-/ I also have a large arch/ppc/ updated since August (which has never been submitted). Can submit it if you're interested. > Thanks, > Jason. WBR, Sergei |
From: Sergei S. <ssh...@ru...> - 2007-04-16 15:19:52
|
Hello, I wrote: > Grrr... I've just looked into mips-lite.patch and saw that my August patch fixing $fp trashing has never been applied. :-/ Ahhh, looks like some patches have only been merged to Tom Rini's git trees, and not to SF CVS. Should I resubmit now? WBR, Sergei |
From: Wessel, J. <jas...@wi...> - 2007-04-16 15:25:52
|
I do not know the status of Tom's work at this point, but it had been abandoned because it would not apply to the 2.6.21 tree. I also had a fix against the MIPS floating point problem with the fpscr register was being trashed. If you can submit all your patches here, I will be happy to apply and review them for the up merge contribution to the > 2.6.21 kernels. While the main community may or may not be interested in particular subsystems, here in the kernel debugger world we are interested that all the pieces work together. One way or another the sum total of the working parts must be merge together. Thanks, Jason. =20 > -----Original Message----- > From: Sergei Shtylyov [mailto:ssh...@ru...]=20 > Sent: Monday, April 16, 2007 10:21 AM > To: Wessel, Jason > Cc: kgd...@li...; Amit S. Kale > Subject: Re: [Kgdb-bugreport] [PATCH] avoid leaving netpoll=20 > in trapping mode by KGDBoE >=20 > Hello, I wrote: > =20 > > Grrr... I've just looked into mips-lite.patch and saw that my=20 > > August patch fixing $fp trashing has never been applied. :-/ > =20 > Ahhh, looks like some patches have only been merged to Tom=20 > Rini's git trees, and not to SF CVS. Should I resubmit now? >=20 > WBR, Sergei >=20 |
From: Sergei S. <ssh...@ru...> - 2007-04-16 17:04:27
|
Hello. Wessel, Jason wrote: > I do not know the status of Tom's work at this point, but it had been > abandoned because it would not apply to the 2.6.21 tree. Sigh, it basically means much of our last year's patchwork sliiping thru the cracks (not sure why it's not been merged to SF CVS). > If you can submit all your patches here, I will be happy to apply and > review them for the up merge contribution to the > 2.6.21 kernels. Ugh... I'll have to reconstruct them from the patch interdiff's since I never posted them as separate patches back then (Vitaly Wool was doing all upstream sync'ing). > While the main community may or may not be interested in particular > subsystems, here in the kernel debugger world we are interested that all > the pieces work together. One way or another the sum total of the > working parts must be merge together. Hmm, it looks like my March/April patches somehow escaped attention -- I'm seeing it in the list archive but they're too mangled to be useful. Do I need to repost? WBR, Sergei |
From: Wessel, J. <jas...@wi...> - 2007-04-16 19:57:15
|
I am not certain of the best route... So I am open to suggestions. It seems that there is two separate git trees which you can see the summary on if you are using firefox at: http://git.kernel.org/?p=3Dlinux/kernel/git/trini/linux-2.6-kgdb-master.g= i t;a=3Dshortlog http://git.kernel.org/?p=3Dlinux/kernel/git/trini/linux-2.6-kgdb-testing.= g it;a=3Dsummary It seems that we probably want to go from the first one. What I don't know is just how different the code in here is, but I can certainly experiment to see... Jason. =20 > -----Original Message----- > From: Sergei Shtylyov [mailto:ssh...@ru...]=20 > Sent: Monday, April 16, 2007 12:05 PM > To: Wessel, Jason > Cc: kgd...@li...; Amit S. Kale > Subject: Re: [Kgdb-bugreport] [PATCH] avoid leaving netpoll=20 > in trapping mode by KGDBoE >=20 > Hello. >=20 > Wessel, Jason wrote: >=20 > > I do not know the status of Tom's work at this point, but=20 > it had been=20 > > abandoned because it would not apply to the 2.6.21 tree. >=20 > Sigh, it basically means much of our last year's patchwork=20 > sliiping thru the cracks (not sure why it's not been merged=20 > to SF CVS). >=20 > > If you can submit all your patches here, I will be happy to=20 > apply and=20 > > review them for the up merge contribution to the > 2.6.21 kernels. >=20 > Ugh... I'll have to reconstruct them from the patch=20 > interdiff's since I never posted them as separate patches=20 > back then (Vitaly Wool was doing all upstream sync'ing). >=20 > > While the main community may or may not be interested in particular=20 > > subsystems, here in the kernel debugger world we are=20 > interested that=20 > > all the pieces work together. One way or another the sum=20 > total of the=20 > > working parts must be merge together. >=20 > Hmm, it looks like my March/April patches somehow escaped=20 > attention -- I'm seeing it in the list archive but they're=20 > too mangled to be useful. Do I need to repost? >=20 > WBR, Sergei >=20 |
From: Sergei S. <ssh...@ru...> - 2007-04-16 20:46:05
|
Hello. Wessel, Jason wrote: > I am not certain of the best route... So I am open to suggestions. > It seems that there is two separate git trees which you can see the > summary on if you are using firefox at: > http://git.kernel.org/?p=linux/kernel/git/trini/linux-2.6-kgdb-master.git;a=shortlog > http://git.kernel.org/?p=linux/kernel/git/trini/linux-2.6-kgdb-testing.git;a=summary > It seems that we probably want to go from the first one. In fact, it still misses (at least) some MIPS changes. > What I don't know is just how different the code in here is, but I can > certainly experiment to see... Both these trees are already quite old, and for all this time KGDB equivalent to the testing tree have been in our internal trees, so might be worth starting with it already. > Jason. WBR, Sergei |
From: Wessel, J. <jas...@wi...> - 2007-04-16 21:48:07
|
Sergei, I would like to setup a place that we can collaborate to complete the integration of KGDB into the main line kernel. I too have many patches and my internal KGDB tree looks quite different than what is in CVS or kernel.org. The goal here is to unify the source base. Are there any other locations that have newer patches? In terms of the location for the source control, would you prefer kernel.org git to start with, or updating the CVS patches in the kgdb.sourceforge.net? Thanks, Jason.=20 > -----Original Message----- > From: Sergei Shtylyov [mailto:ssh...@ru...]=20 > Sent: Monday, April 16, 2007 3:47 PM > To: Wessel, Jason > Cc: kgd...@li...; Amit S. Kale > Subject: Re: [Kgdb-bugreport] [PATCH] avoid leaving netpoll=20 > in trapping mode by KGDBoE >=20 > Hello. >=20 > Wessel, Jason wrote: >=20 > > I am not certain of the best route... So I am open to suggestions. >=20 > > It seems that there is two separate git trees which you can see the=20 > > summary on if you are using firefox at: >=20 > >=20 > = http://git.kernel.org/?p=3Dlinux/kernel/git/trini/linux-2.6-kgdb-master. > > git;a=3Dshortlog >=20 > >=20 > = http://git.kernel.org/?p=3Dlinux/kernel/git/trini/linux-2.6-kgdb-testing > > .git;a=3Dsummary >=20 > > It seems that we probably want to go from the first one. >=20 > In fact, it still misses (at least) some MIPS changes. >=20 > > What I don't know is just how different the code in here=20 > is, but I can=20 > > certainly experiment to see... >=20 > Both these trees are already quite old, and for all this=20 > time KGDB equivalent to the testing tree have been in our=20 > internal trees, so might be worth starting with it already. >=20 > > Jason. >=20 > WBR, Sergei >=20 >=20 |
From: Sergei S. <ssh...@ru...> - 2007-04-17 14:27:54
|
Hello. Wessel, Jason wrote: > I would like to setup a place that we can collaborate to complete the > integration of KGDB into the main line kernel. I too have many patches > and my internal KGDB tree looks quite different than what is in CVS or > kernel.org. The goal here is to unify the source base. > Are there any other locations that have newer patches? No. > In terms of the location for the source control, would you prefer > kernel.org git to start with, You mean creating another one? > or updating the CVS patches in the kgdb.sourceforge.net? Well, to me patchset being kept under CVS (or git) control looks the best for now. Do you mean to use git in this way or in its usual way -- to just commit the patches to it as they arrive (and ending up with a longer patch stream)? > Thanks, > Jason. >>-----Original Message----- >>From: Sergei Shtylyov [mailto:ssh...@ru...] >>Sent: Monday, April 16, 2007 3:47 PM >>To: Wessel, Jason >>Cc: kgd...@li...; Amit S. Kale >>Subject: Re: [Kgdb-bugreport] [PATCH] avoid leaving netpoll >>in trapping mode by KGDBoE >> >>Hello. >> >>Wessel, Jason wrote: >> >> >>>I am not certain of the best route... So I am open to suggestions. >> >>>It seems that there is two separate git trees which you can see the >>>summary on if you are using firefox at: >> >>http://git.kernel.org/?p=linux/kernel/git/trini/linux-2.6-kgdb-master. >> >>>git;a=shortlog >> >>http://git.kernel.org/?p=linux/kernel/git/trini/linux-2.6-kgdb-testing >> >>>.git;a=summary >> >>>It seems that we probably want to go from the first one. >> >> In fact, it still misses (at least) some MIPS changes. >> >> >>>What I don't know is just how different the code in here >> >>is, but I can >> >>>certainly experiment to see... >> >> Both these trees are already quite old, and for all this >>time KGDB equivalent to the testing tree have been in our >>internal trees, so might be worth starting with it already. WBR, Sergei |
From: Wessel, J. <jas...@wi...> - 2007-04-17 14:39:50
|
=20 > -----Original Message----- > From: Sergei Shtylyov [mailto:ssh...@ru...]=20 > Wessel, Jason wrote: > > Are there any other locations that have newer patches? >=20 > No. Given that you know of no more recent source archive than I do, which source repository did you want to start from, or did you have a patch tree against a recent kernel that you wanted to start with instead? I have several starting points which can be used to go forward to the mainline rc candidates. Presently I was using the linux2_6_21_uprev branch. Or I can take the git archive that Tom started and merge into the uprev branch as well. As an example: http://kgdb.cvs.sourceforge.net/kgdb/kgdb-2/?pathrev=3Dlinux2_6_21_uprev >=20 > > In terms of the location for the source control, would you prefer=20 > > kernel.org git to start with, >=20 > You mean creating another one? Yes, I mean creating something new, because at this point we have diverged sets of sources and this will be the best means of consolidating everything into one stream of patches to be contributed to the mainline. >=20 > > or updating the CVS patches in the kgdb.sourceforge.net? >=20 > Well, to me patchset being kept under CVS (or git) control=20 > looks the best for now. > Do you mean to use git in this way or in its usual way -- to=20 > just commit the patches to it as they arrive (and ending up=20 > with a longer patch stream)? If we use the git, there would be a much longer patch stream because the commits would accumulate, and I am ok with that. It is easy enough to consolidate changes into a logical set after there is stability. Jason. |
From: Sergei S. <ssh...@ru...> - 2007-04-17 16:21:57
|
Hello. Wessel, Jason wrote: > Given that you know of no more recent source archive than I do, which > source repository did you want to start from, With linux-2.6-kgdb-testing.git as being more recent and most probably containing all our patches from the last year. > or did you have a patch > tree against a recent kernel that you wanted to start with instead? No. > I have several starting points which can be used to go forward to the > mainline rc candidates. Presently I was using the linux2_6_21_uprev > branch. Or I can take the git archive that Tom started and merge into > the uprev branch as well. That would be fine with me since it would save me quite a lot of work. > As an example: > http://kgdb.cvs.sourceforge.net/kgdb/kgdb-2/?pathrev=linux2_6_21_uprev >>>In terms of the location for the source control, would you prefer >>>kernel.org git to start with, >> You mean creating another one? > Yes, I mean creating something new, because at this point we have > diverged sets of sources and this will be the best means of > consolidating everything into one stream of patches to be contributed to > the mainline. >>>or updating the CVS patches in the kgdb.sourceforge.net? >> Well, to me patchset being kept under CVS (or git) control >>looks the best for now. Well, I meant to say one can have patchset under git as well, something like Greg KH is doing in his stable-queue.git... >>Do you mean to use git in this way or in its usual way -- to >>just commit the patches to it as they arrive (and ending up >>with a longer patch stream)? > If we use the git, there would be a much longer patch stream because the > commits would accumulate, and I am ok with that. It is easy enough to > consolidate changes into a logical set after there is stability. Erm... from my experience working with other projects, it may be not so easy. :-) > Jason. WBR, Sergei |
From: Sergei S. <ssh...@ru...> - 2007-04-16 15:34:56
|
Hello, I wrote: >>I looked through the mails that I had from the kgdb-bugreport, and did >>not see a formal patch other than to the ethernet drivers. Did you have > I've submitted couple of KGDBoE patches (to one of which I've followed up with the PING message). >>a patch for the NET_POLL that you wanted to submit? > That one belonged to ne...@vg... (they're not in a hurry to apply it though :-). Well, maybe it's worth to pick them up into KGDB tree -- I'm seeing there some netpoll changes seem to have never been accepted upstream. >>I am in the process of updating from 2.6.21rc3 -> 2.6.21rc7 and would be >>happy to review the changes you proposed. I also wanted to make sure >>that ARP handling was not disabled based on your proposed changes. I >>know I have a few other changes to review as a part of this merge. >>After that I will be submitting some MIPS and ARM fixes. > Grrr... I've just looked into mips-lite.patch and saw that my August patch fixing $fp trashing has never been applied. :-/ > I also have a large arch/ppc/ updated since August (which has never been submitted). Can submit it if you're interested. >>Thanks, >>Jason. WBR, Sergei |
From: Jason W. <jas...@wi...> - 2007-04-16 15:39:35
|
Sergei Shtylyov wrote: >> That one belonged to ne...@vg... (they're not in a >> hurry to apply it though :-). > > Well, maybe it's worth to pick them up into KGDB tree -- I'm seeing > there some netpoll changes seem to have never been accepted upstream. > > > WBR, Sergei I have submitted the other changes to the Networking folks several times over the years, but nothing ever comes of it because the only consumer is KGDB which is not in the tree. Of course the intent is to change that, but for the time being against what ever is the top of the tree we need to maintain all the patches in one place to make it work. Short of digging through the netdev archives, if you have the patches, please do post them here. Thanks, Jason. |
From: Sergei S. <ssh...@ru...> - 2007-04-16 15:41:49
|
Jason Wessel wrote: >>> That one belonged to ne...@vg... (they're not in a >>> hurry to apply it though :-). >> Well, maybe it's worth to pick them up into KGDB tree -- I'm seeing >> there some netpoll changes seem to have never been accepted upstream. > Short of digging through the netdev archives, if you have the patches, > please do post them here. All of them have been cross-posted here. > Thanks, > Jason. WBR, Sergei |
From: Amit S. K. <ami...@li...> - 2007-04-16 15:44:08
|
On Monday 16 April 2007 20:05, Sergei Shtylyov wrote: > Hello. > > Amit S. Kale wrote: > > Hi Sergie, > > I'm Sergei, not Sergie, BTW. :-) Sorry about that. Looks like I am trying to do too many things in too short a time. The end result is apologies in every other email :-). -Amit > > WBR, Sergei > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Kgdb-bugreport mailing list > Kgd...@li... > https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport |