John Levon wrote:
> On Wed, Sep 09, 2009 at 03:11:49PM -0700, Rafael Vanoni wrote:
> 
>> webrev @ http://cr.opensolaris.org/~rafaelv/mdb-lbolt/
> 
> mdb_ks.c:1598
> 
> Isn't this wrong for mdb examining crash dumps - it gives the live
> kernel's hrtime, not the dump's? Surely you should be looking for
> lbolt_debug_ts in the post-mortem case too. Not sure about a live
> dump...

Ok.

> genunix.c:
> 
> 3441 3440          cid.cid_lbolt = (uintptr_t)sym.st_value;
> 
> If we find panic_lbolt, we'll save a pointer to it.
> 
> 3448 3447          if (lbolt == 0) {
> 
> Or if it's zero (no panic), we'll get a pointer to 'lbolt':
> 
> 3449      -                if (mdb_lookup_by_name("lbolt", &sym) == -1) {
> 3450      -                        mdb_warn("failed to find lbolt");
> 3453      -                cid.cid_lbolt = (uintptr_t)sym.st_value;
> 
> Then, later, we'll use this pointer value:
> 
> 3213      -                if (mdb_vread(&lbolt, sizeof (lbolt), 
> cid->cid_lbolt) == -1) {
> 3214      -                        mdb_warn("failed to read lbolt at %p", 
> cid->cid_lbolt);
> 
> But you made this be:
> 
> 3213 +                if ((lbolt = (clock_t)mdb_get_lbolt()) != -1)
> 3214 +                        mdb_printf("t-%-4d ", lbolt - 
> cpu->cpu_last_swtch);
> 3215 +                else
> 
> which will ignore panic_lbolt altogether. I think you need the
> mdb_get_lbolt() fix I mention above, and drop cid_lbolt altogether.

True, fixed.

> At that point, a short comment on the meaning of mdb_get_lbolt() would
> be nice.

Ok

> genunix.c:4348
> 
> Please add a help function.

Ok

> kobj_kdi.c:
> 
> The point of the KDI is to isolate KMDB from the kernel - please don't
> muddy the interface further. Your calls should be KDI (kernel) side.
> There's a (plat) system_claim() call that's the right place. (You'd have
> to make the SPARC platform modules call a sparc_system_claim/release(),
> which is a slight pain, but much the better way).

Right, I mistook kobj_kdi_system_claim() and kobj_kdi_system_release()
for common code. Fixed.

Just updated the webrev, please let me know what you think.

Thanks,
Rafael

Reply via email to