bus_alloc_resouce() failure for OPTi 82C861

2002-03-07 Thread FUJITA Kazutoshi

Hi there,

I installed -CURRENT on my old PC(ThinkPad235 aka Chandra2),
but its USB device doesn't work.
(it works on Windows environment)

[boot message]
ohci0: OPTi 82C861 (FireLink) USB controller irq 10 at device 5.0 on pci0
ohci0: Could not map memory
device_probe_and_attach: ohci0 attach returned 6


in source code, sys/pci/ohci_pci.c

rid = PCI_CBMEM;
sc-io_res = bus_alloc_resource(self, SYS_RES_MEMORY, rid,
0, ~0, 1, RF_ACTIVE);
if (!sc-io_res) {
device_printf(self, Could not map memory\n);
return ENXIO;
}

It seems the function bus_alloc_resource() returns NULL.

How can I avoid this failure?


TIA

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: bus_alloc_resouce() failure for OPTi 82C861

2002-03-07 Thread M. Warner Losh

In message: [EMAIL PROTECTED]
FUJITA Kazutoshi [EMAIL PROTECTED] writes:
: Hi there,
: 
: I installed -CURRENT on my old PC(ThinkPad235 aka Chandra2),
: but its USB device doesn't work.
: (it works on Windows environment)
: 
: [boot message]
: ohci0: OPTi 82C861 (FireLink) USB controller irq 10 at device 5.0 on pci0
: ohci0: Could not map memory
: device_probe_and_attach: ohci0 attach returned 6
: 
: 
: in source code, sys/pci/ohci_pci.c
: 
: rid = PCI_CBMEM;
: sc-io_res = bus_alloc_resource(self, SYS_RES_MEMORY, rid,
: 0, ~0, 1, RF_ACTIVE);
: if (!sc-io_res) {
: device_printf(self, Could not map memory\n);
: return ENXIO;
: }
: 
: It seems the function bus_alloc_resource() returns NULL.
: 
: How can I avoid this failure?

You can't.  However, you can work around it like the pccbb driver
does.  It would be better if these things were handled in the pci bus
layer, but someone would need to implement that.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread M. Warner Losh

In message: [EMAIL PROTECTED]
Matthew Dillon [EMAIL PROTECTED] writes:
: We have very different development models, and different priorities.
: I'm not sure why you are attempting to impose your development model
: and priorities on me.  This is the work I want to do.  It's my time
: here, not yours, and if you believe that the work will make your job
: harder in some future unspecified commit then you have only to bring
: up the issue down the road when you are actually ready to work on
: that future unspecified commit and we can work it out.  But I don't
: think it's appropriate for you to impose such a strict set of requirements
: based on work that does not exist in -current anywhere as far as I can
: tell.

While your time is your time, it isn't your tree.  It isn't my tree.
The tree is a shared resource that we all must respect.  There are
times that it is reasonable to have restrictions on what can go into
the tree.  Since smpng is being coordinated amoung several developers
in the tree, there are some restrictions that may come with that.  I
think that such restrictions are reasonable and the price of doing
business in a shared resource.

I think that's a fundamental decision about the tree that has been
made that your development model is at odds with and the source of
much of the current dispute over commit or not to commit the changes.

In the past there have been a number of restrictions on what can and
can't go into the tree.  I needn't enumerate them here, but I will add
that there have been times where special restrictions were in place
that weren't in place at other times.  We're entering the glide path
to 5.0, so I would expect there to be more such restrictions coming
from the release engineer and maybe others as we move towards that
release.

I'm not saying that your patches necessarily fall under these
restrictions, but I am saying that to assert that your time is yours
and therefore anything that you do can go into the tree is a false
premise.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: cvs commit: src/lib/libcrypt crypt-md5.c crypt.c crypt.h misc.c src/secure/lib/libcrypt blowfish.c blowfish.h crypt-blowfish.c crypt-des.c

2002-03-07 Thread Nickolay Dudorov

In article [EMAIL PROTECTED]
Mark Murray [EMAIL PROTECTED] wrote:
 markm   2002/03/06 09:18:09 PST
 
  Modified files:
lib/libcrypt crypt-md5.c crypt.c crypt.h misc.c 
secure/lib/libcrypt  blowfish.c blowfish.h crypt-blowfish.c 
 crypt-des.c 
  Log:
  No functional change, but big code cleanup. WARNS, lint(1) and style(9).

This comment is false. On my -CURRENT system with
this commit in place 'passwd' and 'login'/'su' commands
loops forever computing MD5 password.

After reverting crypt-md5.c to rev. 1.8 all thouse
commands work as always.

Was this cleanup tested ?

N.Dudorov

  
  Revision  ChangesPath
  1.9   +47 -47src/lib/libcrypt/crypt-md5.c
  1.22  +9 -7  src/lib/libcrypt/crypt.c
  1.7   +2 -2  src/lib/libcrypt/crypt.h
  1.3   +6 -5  src/lib/libcrypt/misc.c
  1.3   +13 -110   src/secure/lib/libcrypt/blowfish.c
  1.2   +13 -13src/secure/lib/libcrypt/blowfish.h
  1.3   +26 -59src/secure/lib/libcrypt/crypt-blowfish.c
  1.16  +40 -34src/secure/lib/libcrypt/crypt-des.c
 

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



cardbus problem

2002-03-07 Thread Yuri Khotyaintsev

Hi!

I have xl0: watchdog timeout on my 3Com cardbus card after updating kernel  
recently. Everything seems to be OK during boot,
but xl0: watchdog timeout starts directly after ifconfig, and makes network 
incredibly slow.
boot -v will not boot at all, it stops somewhere around cardbus_attach_card.

It seems the problem is in recent changes to sys/dev/cardbus, because
taking the August version of  sys/dev/cardbus/* files resolved the problem.

Further investigation is needed.

I attach dmesg output below.
-- 

Yuri Khotyaintsev 

Swedish Institute of Space Physics,   
Uppsala Division, Box 537, S-75121  Uppsala

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #0: Mon Mar  4 23:11:04 CET 2002
[EMAIL PROTECTED]:/usr/src/sys/i386/compile/JAZZ
Preloaded elf kernel /boot//kernel/kernel at 0xc0454000.
Preloaded elf module /boot//kernel/acpi.ko at 0xc04540ac.
Timecounter i8254  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (400.91-MHz 686-class CPU)
  Origin = GenuineIntel  Id = 0x66a  Stepping = 10
  
Features=0x183f9ffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR
real memory  = 100597760 (98240K bytes)
avail memory = 93360128 (91172K bytes)
Pentium Pro MTRR support enabled
Using $PIR table, 9 entries at 0xc00fdf30
ACPI-0567: *** Warning: Reference BAT0 at AML 1276 not found
ACPI-0567: *** Warning: Reference BAT1 at AML 127a not found
apm0: APM BIOS on motherboard
apm0: found APM BIOS v1.2, connected at v1.2
npx0: math processor on motherboard
npx0: INT 16 interface
acpi0: Other PM system enabled.
pcib0: Intel 82443BX (440 BX) host to PCI bridge at pcibus 0 on motherboard
pci0: PCI bus on pcib0
pcib1: PCI-PCI bridge at device 1.0 on pci0
pci1: PCI bus on pcib1
pci1: display, VGA at device 0.0 (no driver attached)
pcm0: ESS Technology Maestro-2E port 0xf800-0xf8ff irq 5 at device 6.0 on 
pci0
isab0: PCI-ISA bridge at device 7.0 on pci0
isa0: ISA bus on isab0
atapci0: Intel PIIX4 ATA33 controller port 0xfcd0-0xfcdf at device 7.1 on 
pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: serial bus, USB at device 7.2 (no driver attached)
pci0: bridge, PCI-unknown at device 7.3 (no driver attached)
pccbb0: TI1220 PCI-CardBus Bridge irq 11 at device 10.0 on pci0
cardbus0: CardBus bus on pccbb0
pccbb1: TI1220 PCI-CardBus Bridge irq 11 at device 10.1 on pci0
cardbus1: CardBus bus on pccbb1
orm0: Option ROM at iomem 0xc-0xcefff on isa0
atkbdc0: Keyboard controller (i8042) at port 0x64,0x60 on isa0
atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: PS/2 Mouse irq 12 on atkbdc0
psm0: model GlidePoint, device ID 0
fdc0: enhanced floppy controller (i82077, NE72065 or clone) at port 
0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1440-KB 3.5 drive on fdc0 drive 0
pmtimer0 on isa0
ppc0: Parallel port at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
plip0: PLIP network interface on ppbus0
lpt0: Printer on ppbus0
lpt0: Interrupt-driven port
ppi0: Parallel I/O on ppbus0
sc0: System console at flags 0x100 on isa0
sc0: VGA 16 virtual consoles, flags=0x300
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0
TUPLE: LINKTARGET [3]: 43 49 53
Product version: 5.0
Product name: 3Com Corporation | 3CCFEM656B-LAN | LAN | 1 | 
Manufacturer ID: 02016265
Functions: Network Adaptor, Multi-Functioned
TUPLE: DEVICE_OC [2]: 02 ff
cardbus1: Opening BAR: type=IO, bar=10, len=0080
cardbus1: Opening BAR: type=MEM, bar=14, len=0100
TUPLE: CONFIG_CB [6]: 03 01 00 00 00 00
TUPLE: CFTABLE_ENTRY_CB [15]: 41 ba 01 b5 1e 01 b5 1e 02 30 f8 ff 04 01 02
CIS reading done
cardbus1: Resource not specified in CIS: id=18, size=80
cardbus1: Non-prefetchable memory at 84002000-8400217f
cardbus1: Non-prefetchable memory rid=14 at 84002000-840020ff (100)
cardbus1: Non-prefetchable memory rid=18 at 84002000-8400207f (80)
cardbus1: IO port at 1000-107f
cardbus1: IO port rid=10 at 1000-107f
xl0: 3Com 3c656B Fast Etherlink XL port 0x1000-0x107f mem 
0x84002000-0x8400207f,0x84002000-0x840020ff irq 11 at device 0.0 on cardbus1
xl0: Ethernet address: 00:50:04:92:29:17
miibus0: MII bus on xl0
ukphy0: Generic IEEE 802.3u media interface on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
TUPLE: LINKTARGET [3]: 43 49 53
Product version: 5.0
Product name: 3Com Corporation | 3CCFEM656B-MDM | MDM | 1 | 
Manufacturer ID: 02016365
Functions: Serial Port, Multi-Functioned
TUPLE: DEVICE_OC [2]: 02 ff
cardbus1: Opening BAR: type=MEM, bar=18, len=1000
TUPLE: CONFIG_CB [6]: 03 01 00 00 00 00
TUPLE: CFTABLE_ENTRY_CB [14]: 41 b2 

3ware (twe) driver updated (HEADS UP)

2002-03-07 Thread Michael Smith


Just a quick note to let people know that the 3ware driver twe(4) driver 
has been updated to deal with 3ware's latest firmware releases.

These changes have been tested for a couple of weeks now.

One other important note for owners of 7xxx series controllers; the 7.4 
firmware update is due out this week.  Recent shipping controllers have 
reportedly had problems with large I/Os (128kB) and this update addresses 
this issue, so you are advised to upgrade.

Regards,
Mike

-- 
To announce that there must be no criticism of the president,
or that we are to stand by the president, right or wrong, is not
only unpatriotic and servile, but is morally treasonable to 
the American public.  - Theodore Roosevelt



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: cvs commit: src/lib/libcrypt crypt-md5.c crypt.c crypt.h misc.c src/secure/lib/libcrypt blowfish.c blowfish.h crypt-blowfish.c crypt-des.c

2002-03-07 Thread Mark Murray

   This comment is false. On my -CURRENT system with
 this commit in place 'passwd' and 'login'/'su' commands
 loops forever computing MD5 password.
 
   After reverting crypt-md5.c to rev. 1.8 all thouse
 commands work as always.

It was a signed/unsiged issue. Fixed!

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Contemplating THIS change to signals.

2002-03-07 Thread Peter Edwards


I mentioned something similar for a different reason. Go look at the last
part of the following message in the recent -hackers archives:

 Subject: ptrace bug?
 MessageId: [EMAIL PROTECTED]

(this was for -stable, BTW)

Having the suspend for the ptrace()ing parent done in issignal is a pain
when issignal is called multiple times by the debuggee before getting back
to userland. The debugger sees wait() return more than once reporting the
same signal depending on where the victim process was when it stopped, and
the code path back to userland. It's particularly noticable when the
ptrace(PT_CONTINUE) tries to continue the process with a signal, and the
signal arrives back at the debugger. The debugger has no idea wheather it
sees the signal because it tried to send it, or the same signal raised for
some other reason. The results of this can be seen in GDB frequently when
you use the signal command.

I suggested moving the ptrace handling to postsig(), but anything along the
lines of what you are mentioning seems like an improvement to me, and I'm
sure you're much more likely to know what you're doing :-) I only delved in
here briefly to try and work out some of the non-obvious behaviour of
ptrace().

Oh, and while your mucking with issignal(), any chance of looking at the bug
raised (and the patch) in the start of that message, and in PR kern/35175?
:-)

-- 
Peter

Julian Elischer wrote:
 
 Maybe this should be in -arch.. I couldn;t make my mind up,
 but..
 
 There is some behaviour in signals which seems
 1/ un-neccesary
 2/ potentially dangerous.
 in addition it is
 3/ Definitly incompatible with KSEs.
 
 I am hoping that someone can give me a good reason why it is done, and
 failing that, I'm hoping people can give comments on my thoughts.
 
 The behavious in question was inherrited from   BSD4.4-LITE2
 
 When the sleep code (tsleep,msleep, cv{stuff})
 checks to see if there is a pending signal that might cause the sleep
 to abort, it calls CURSIG() which calls issignal,
 which in turn might decide to actually suspend the process.
 (if the user hit ^Z for example)
 
 This is fine when CURSIG is called from userret(), because we are on the
 user boundary, however calling it from the sleep()
 call seems a rather UN-NICE thing to do.
 
 One could argue that it is safe because you are not allowed to sleep
 while holding resources (um is it not possible to sleep
 while holding a vnode?) but it seems that it is possible to hit ^Z
 at teh right moment while something is holding some resource
 (during what it expects to be a very short term sleep,) and end up
 blocking the whole system.
 
 I would argue that a process can be considered to be suspended even while
 it is running in kernel space. My definition of a suspended process
 would be one that id not running any user code. it is not making any
 headway on the userland program. This I put it to the group that
 it is sufficient to only suspend a process when it is crossing the user
 boundary. (returning to user space)
 
 My suggestion is to remove teh code in issignal() that perfoms the
 blocking actions and create a separate function that does that action.
 I would then call that function from userret() immediatly after the call
 to issignal(). The result would be that
 suspended processes would still not reach userland, but processes would
 not have to option of suspending indefinitly at sleep().
 
 The signal would still cut short the sleep, but the process would be
 allowed to proceed to the user boundary, at which point it would
 be suspended as before.
 
 If anyone has any reasons they think this is a bad idea, then please speak
 up. Neithe Matt (Dillon) nor I can see that stopping in msleep
 is required, and both of us are in fact un-easy with it.
 
 In a THREADED world it gets even more complicated, because
 the SUSPENDED state is a PER_PROCESS state, which means that
 you are not suspented until ALL THERADS have left userland
 and been counted as 'suspended'.
 Having some threads stopped 'near' msleep and others stopped at the
 userland boundary  is asking for trouble in my opinion.
 
 I can not think of any downside to making the suspension
 (whether from ptrace, or a signal) only occur at the user boundary.
 
 If I hear NO arguments I'll take it that no-one can think of any reasons
 to not change the code. If yuo have a reason PLEASE speak up so that we
 can discuss it and try figure out whether it is real or can be
 gotten around in some manner.
 
 Julian
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-current in the body of the message

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Hi,

Looks like source upgrade path is broken due to PAM. My system is -CURRENT
compiled on 19 February. Please fix.

-Maxim

=== libpam/modules/pam_ftp
cc -pipe -O -mpreferred-stack-boundary=2 -march=pentium -I/usr/src/lib/libpam/mo
dules/pam_ftp/../../../../contrib/openpam/libpam/include -I/usr/src/lib/libpam/m
odules/pam_ftp/../../libpam  -c /usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c -o
 pam_ftp.o
cc -fpic -DPIC -pipe -O -mpreferred-stack-boundary=2 -march=pentium -I/usr/src/l
ib/libpam/modules/pam_ftp/../../../../contrib/openpam/libpam/include -I/usr/src/
lib/libpam/modules/pam_ftp/../../libpam  -c /usr/src/lib/libpam/modules/pam_ftp/
pam_ftp.c -o pam_ftp.So
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c: In function `pam_sm_authenticate'
:
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c:155: warning: passing arg 3 of `pa
m_prompt' from incompatible pointer type
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c:155: warning: passing arg 4 of `pa
m_prompt' from incompatible pointer type
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c:155: too many arguments to functio
n `pam_prompt'
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c: In function `pam_sm_authenticate'
:
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c:155: warning: passing arg 3 of `pa
m_prompt' from incompatible pointer type
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c:155: warning: passing arg 4 of `pa
m_prompt' from incompatible pointer type
/usr/src/lib/libpam/modules/pam_ftp/pam_ftp.c:155: too many arguments to functio
n `pam_prompt'
*** Error code 1
*** Error code 1

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Dag-Erling Smorgrav

Maxim Sobolev [EMAIL PROTECTED] writes:
 Looks like source upgrade path is broken due to PAM. My system is -CURRENT
 compiled on 19 February. Please fix.

Please use 'make world' to upgrade your system.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Dag-Erling Smorgrav wrote:
 
 Maxim Sobolev [EMAIL PROTECTED] writes:
  Looks like source upgrade path is broken due to PAM. My system is -CURRENT
  compiled on 19 February. Please fix.
 
 Please use 'make world' to upgrade your system.

I'm using `make world' (well buildworld, but it shouln't matter).

-Maxim

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Maxim Sobolev wrote:
 
 Dag-Erling Smorgrav wrote:
 
  Maxim Sobolev [EMAIL PROTECTED] writes:
   Looks like source upgrade path is broken due to PAM. My system is -CURRENT
   compiled on 19 February. Please fix.
 
  Please use 'make world' to upgrade your system.
 
 I'm using `make world' (well buildworld, but it shouln't matter).

To be more crear: those errors are result of doing `make world'.

-Maxim

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Michael D. Harnois

On Thu, 7 Mar 2002 13:30:44 +0200 (EET), Maxim Sobolev [EMAIL PROTECTED] said:

Maxim Hi, Looks like source upgrade path is broken due to PAM. My
Maxim system is -CURRENT compiled on 19 February. Please fix.

Could this have anything to do with the fact that, since I built world
yesterday, I can't log in as root?

-- 
Michael D. Harnois   bilocational bivocational
Pastor, Redeemer Lutheran ChurchWashburn, Iowa
1L, UST School of Law   Minneapolis, Minnesota
 A witty saying proves nothing. -- Voltaire

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Justin T. Gibbs

The API is intended for the stage-2 commit.  The stage-1 commit
is intended to do all the 'hard stuff' in as straightforward
a manner as possible.  The sysctl / option you talk about here
existed in my patch set 2 and a half weeks ago.

The API and getting it right is more important than the hard stuff.
Its not as fun, but the API will outlive the code (consider the next
arch, and the next).  It may take more of your time due to discussion
and feedback to get the API in place, but that's part of the cost of
collaboration.

I really wish you people would at least read the patch and commit
message before you comment on it.

I didn't have to read the patch to know that there were concerns and
on-going discussion about the API.  In this instance, the issues are
not large and can be remedied quickly - all the more reason for the
discussion to take place before the commit.

I didn't have to read the patch to know that you didn't seem to care
about getting the API right before commiting the code.  The API
was something to be cleaned up later.  If you have problems with
my API, I'll even help merge your changes into mine, but I need to
commit now.  Lets discuss this after the commit.  This project is
not about a race to commit. [Perhaps my viewpoint here is a bit different
then some seeing as the CAM stuff was 1.5 years old by the time it was
committed to the tree.  I know all about painful merge conflicts.]

I didn't have to read the patch to know that you would only remove your
commit if someone could point to specific defects in the hard part of
your submission.  The hard part, how it works, and whether it contained
any bugs or not was not the real issue.  This is why you and John were
talking right past each other.

Don't get me wrong, Matt.  I don't think you should be unduley held off
from committing either.  From my perspective of the discussion so far,
other than the delay for John to get back home from BSDcon, we could have
finished the discussion about the API and committed this stuff a week
ago if the focus wasn't on how you were personally wronged, or John is
holding up the whole tree, or my changes are correct, my changes are
correct.  All of the above may be true, but focusing on the particular
events instead of the *process to avoid them recurring in the future*
will only lead to more frustration and you wanting to work on -stable instead
of -current, etc.  You're a good engineer Matt.  You've shown before that
you can colloborate and coordinate with others in this project.  The only
issue is how that colloboration takes place, and the *process* for getting
things done.  If the process makes it twice as hard for us to get things
done, then it's broken.  In that case, *attack the process*, not the person.
The process can and will change but only if we set aside personal
indignity (why should I have to put up with this crap!?!?) and attack
our problems and goals as engineers.

Sometimes the flare-ups in FreeBSD remind me of the middle-east.  Each
side accuses the other side of starting it, or having the blame.  In
reality, both sides were jerks, own portions of the blame, and have
concentrated on continuing the conflagration rather than mitigating it.
I hope we have a better perspective on reality.

--
Justin

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Michael D. Harnois wrote:
 
 On Thu, 7 Mar 2002 13:30:44 +0200 (EET), Maxim Sobolev [EMAIL PROTECTED] said:
 
 Maxim Hi, Looks like source upgrade path is broken due to PAM. My
 Maxim system is -CURRENT compiled on 19 February. Please fix.
 
 Could this have anything to do with the fact that, since I built world
 yesterday, I can't log in as root?

Bah, just completed `make world' after doing `make includes' and found
that I can't login as *any* user, not only root!!! Login just
hangs after entering password and nothing goes on. DES! PLEASE FIX
THAT FSKING PAM - within a very short timeframe it's the second time
I'm having problems due to it and this just isn't acceptable even for
-current.

-Maxim

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Rasmus Skaarup


On 7 Mar 2002, Michael D. Harnois wrote:

 On Thu, 7 Mar 2002 13:30:44 +0200 (EET), Maxim Sobolev [EMAIL PROTECTED] said:

 Maxim Hi, Looks like source upgrade path is broken due to PAM. My
 Maxim system is -CURRENT compiled on 19 February. Please fix.

 Could this have anything to do with the fact that, since I built world
 yesterday, I can't log in as root?

I can't login as root either, I can only gain root access if I boot into
single-user.

The login process just eats up all cpu-ressources and the login times out
after 300 seconds. A su doesn't work either, of course.

Sincerely,
Rasmus Skaarup


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

 Bah, just completed `make world' after doing `make includes' and found
 that I can't login as *any* user, not only root!!! Login just
 hangs after entering password and nothing goes on. DES! PLEASE FIX
 THAT FSKING PAM - within a very short timeframe it's the second time
 I'm having problems due to it and this just isn't acceptable even for
 -current.

That is _my_ fault, not DES'. It was a crypt() problem which I have fixed.

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

 I can't login as root either, I can only gain root access if I boot into
 single-user.
 
 The login process just eats up all cpu-ressources and the login times out
 after 300 seconds. A su doesn't work either, of course.

Not a PAM problem, a crypt(3) problem. My fault, and fixed.

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: cardbus problem

2002-03-07 Thread M. Warner Losh

In message: [EMAIL PROTECTED]
Yuri Khotyaintsev [EMAIL PROTECTED] writes:
: Hi!
: 
: I have xl0: watchdog timeout on my 3Com cardbus card after updating kernel  
: recently. Everything seems to be OK during boot,
: but xl0: watchdog timeout starts directly after ifconfig, and makes network 
: incredibly slow.
: boot -v will not boot at all, it stops somewhere around cardbus_attach_card.
: 
: It seems the problem is in recent changes to sys/dev/cardbus, because
: taking the August version of  sys/dev/cardbus/* files resolved the problem.

So using a completely -current kernel, except for the august version
of sys/dev/cardbus/*?  I wouldn't have expected that to compile, but
that's a good data point if true.

: xl0: 3Com 3c656B Fast Etherlink XL port 0x1000-0x107f mem 
: 0x84002000-0x8400207f,0x84002000-0x840020ff irq 11 at device 0.0 on cardbus1
: xl0: Ethernet address: 00:50:04:92:29:17

What does vmstat -i say about irq 11?

Warner

/me gets out his 656 cardbus card and gives it a whirl.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread David Wolfskill

Date: Thu, 07 Mar 2002 17:43:26 +0200
From: Maxim Sobolev [EMAIL PROTECTED]

Michael D. Harnois wrote:

 On Thu, 7 Mar 2002 13:30:44 +0200 (EET), Maxim Sobolev [EMAIL PROTECTED] said:

 Maxim Hi, Looks like source upgrade path is broken due to PAM. My
 Maxim system is -CURRENT compiled on 19 February. Please fix.

 Could this have anything to do with the fact that, since I built world
 yesterday, I can't log in as root?

Bah, just completed `make world' after doing `make includes' and found
that I can't login as *any* user, not only root!!! Login just
hangs after entering password and nothing goes on

OK; markm said it was a crypt() problem (that he caused  fixed); I'm
not going to belabor that.  (I will, however, express appreciation for
Mark taking the heat:  thanks, Mark!)

But on the point of folks being unable to login, I'm not seeing the
failure here.

First, an ssh session:

bunrab(4.5-S)[3] _ssh freebeast
Enter passphrase for RSA key '[EMAIL PROTECTED]': 
Last login: Thu Mar  7 08:06:22 2002 from bunrab.catwhiske
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California.  All rights reserved.
FreeBSD 5.0-CURRENT (FREEBEAST) #8: Thu Mar  7 06:49:17 PST 2002

Welcome to FreeBSD!
...
You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.

freebeast(5.0-C)[1] uname -a
FreeBSD freebeast.catwhisker.org 5.0-CURRENT FreeBSD 5.0-CURRENT #8: Thu Mar  7 
06:49:17 PST 2002 
[EMAIL PROTECTED]:/common/S4/obj/usr/src/sys/FREEBEAST  i386
freebeast(5.0-C)[2] 


Now, direct login from the (serial) console:

Additional TCP options:.
Starting background filesystem checks

Thu Mar  7 08:08:23 PST 2002

FreeBSD/i386 (freebeast.catwhisker.org) (cuaa0)

login: david
Password:
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.

FreeBSD 5.0-CURRENT (FREEBEAST) #8: Thu Mar  7 06:49:17 PST 2002

Welcome to FreeBSD!
...
You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.

freebeast(5.0-C)[1] logout

FreeBSD/i386 (freebeast.catwhisker.org) (cuaa0)

login: root
Password:
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.

FreeBSD 5.0-CURRENT (FREEBEAST) #8: Thu Mar  7 06:49:17 PST 2002

Welcome to FreeBSD!
...
You may also use sysinstall(8) to re-enter the installation and
configuration utility.  Edit /etc/motd to change this login announcement.

freebeast# uname -a
FreeBSD freebeast.catwhisker.org 5.0-CURRENT FreeBSD 5.0-CURRENT #8: Thu Mar  7 
06:49:17 PST 2002 
[EMAIL PROTECTED]:/common/S4/obj/usr/src/sys/FREEBEAST  i386
freebeast# logout

FreeBSD/i386 (freebeast.catwhisker.org) (cuaa0)

login: 



As I mentioned, it works for me.

Cheers,
david   (links to my resume at http://www.catwhisker.org/~david)
-- 
David H. Wolfskill  [EMAIL PROTECTED]
I believe it would be irresponsible (and thus, unethical) for me to advise,
recommend, or support the use of any product that is or depends on any
Microsoft product for any purpose other than personal amusement.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

 OK; markm said it was a crypt() problem (that he caused  fixed); I'm
 not going to belabor that.  (I will, however, express appreciation for
 Mark taking the heat:  thanks, Mark!)

*blush*

 But on the point of folks being unable to login, I'm not seeing the
 failure here.

You'll only see it if you have the bad version of crypt-md5.c(1.9)
and you actually use md5 passwords (the salt begins with $1$ when
you look in /etc/master.passwd). The breakage time was less than
24 hours.

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Mark Murray wrote:
 
  Bah, just completed `make world' after doing `make includes' and found
  that I can't login as *any* user, not only root!!! Login just
  hangs after entering password and nothing goes on. DES! PLEASE FIX
  THAT FSKING PAM - within a very short timeframe it's the second time
  I'm having problems due to it and this just isn't acceptable even for
  -current.
 
 That is _my_ fault, not DES'. It was a crypt() problem which I have fixed.

Ok, I see now. Could we please make a rule to send a heads-up in such
cases (i.e. in the cases when some serious misbehaviour was introduced
and then fixed shortly). This would save me (and probably others)
roughly a hour that I spent debugging what's going wrong.

-Maxim

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

  That is _my_ fault, not DES'. It was a crypt() problem which I have fixed.
 
 Ok, I see now. Could we please make a rule to send a heads-up in such
 cases (i.e. in the cases when some serious misbehaviour was introduced
 and then fixed shortly). This would save me (and probably others)
 roughly a hour that I spent debugging what's going wrong.

My apologies. I should have thought to do that.

I'll remember if there is a next time ;-)

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

 Maxim Sobolev [EMAIL PROTECTED] writes:
  Looks like source upgrade path is broken due to PAM. My system is -CURRENT
  compiled on 19 February. Please fix.
 
 Please use 'make world' to upgrade your system.

Its more broken than that. I have a fix.

The problem is in the headers; you changed #include pam_mod_misc.h
to #include secure/pam_mod_misc.h without ensuring that a (correct)
pam_mod_misc.h was in an appropriate secure/ dir.

I've just finished fixing this (includes a repo-copy) and it will go
in shortly.

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Dag-Erling Smorgrav

Maxim Sobolev [EMAIL PROTECTED] writes:
 Dag-Erling Smorgrav wrote:
  Maxim Sobolev [EMAIL PROTECTED] writes:
   Looks like source upgrade path is broken due to PAM. My system is -CURRENT
   compiled on 19 February. Please fix.
  Please use 'make world' to upgrade your system.
 I'm using `make world' (well buildworld, but it shouln't matter).

The error message you're reporting indicates that libpam is being
built with the wrong headers.  This shouldn't happen during 'make
world'.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Dag-Erling Smorgrav

Mark Murray [EMAIL PROTECTED] writes:
 The problem is in the headers; you changed #include pam_mod_misc.h
 to #include secure/pam_mod_misc.h without ensuring that a (correct)
 pam_mod_misc.h was in an appropriate secure/ dir.

Umm, IIRC 'make world' starts by doing a 'make includes' into
/usr/obj, which should take care of this.

 I've just finished fixing this (includes a repo-copy) and it will go
 in shortly.

No repo-copy should be necessary.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Dag-Erling Smorgrav

Maxim Sobolev [EMAIL PROTECTED] writes:
 Bah, just completed `make world' after doing `make includes' and found
 that I can't login as *any* user, not only root!!! Login just
 hangs after entering password and nothing goes on. DES! PLEASE FIX
 THAT FSKING PAM - within a very short timeframe it's the second time
 I'm having problems due to it and this just isn't acceptable even for
 -current.

Please moderate your language and your attitude.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Peter Schultz

Can someone please end this nightmare?

If you've reviewed the patch and found substantive reason to contest it 
then speak now else the patch should be commited today so that forward 
progress can continue.  I mean, cut the crap and state the facts you see 
about the code or sit in silence while those who do know the facts work 
them out.

To bitch and moan because you assume it might interrupt someone elses 
work is as antiproductive as anything can be.

 From what I've seen I think Matt should be allowed to commit.

Pete...


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Michael Smith


Trim your cc's.

 I'm sorry, but simply not liking the idea of someone else doing a
 particular optimization now verses later is not a good enough reason
 to require that 40+ hours worth of work be thrown away when that
 other person has stated, repeatedly, that he will support said code.

Given that not optimising the code is consistent with the current SMPng 
approach, and given that you went and did this work unsolicited, the 
situation is unfortunate but inevitable.

 So far not one person, not even you, has been able to explain why
 the patch should not go in.

It should not be committed because the current SMPng direction is 
establishment and implementation, not optimisation.

Is that plain enough for you?  You're doing the wrong work, as far as the 
general consensus goes.

 I am angry because you and a number of others are not willing to take
 the work at face value and instead insist on making ridiculous extremist
 assumption into it and then using that opinion to justify not allowing
 the patch to go in.

You are angry because you've decided that you want to do something, and 
you don't want to be told you can't by someone else.

Had you been reasonable about the situation, your code would probably have
been committed and you could have spent the last week or more doing
something else more interesting.

Instead, you've tried to hold the Project to ransom for your ego.  We 
don't tolerate this from anyone, no matter how skillful or useful they 
might otherwise be.

This is a collaborative effort, and you need to collaborate on the 
group's terms, not your own.

 I don't see how you can possibly tell me that I am not being a team
 player when I am being told to throw the code away completely.

If you were a team player, you would throw the code away.

(Actually, I doubt that throwing the code away is the correct solution;
 my point here is simply that you've completely failed to understand what 
 being part of a team is actually about.)

 I can't fight your opinion of me, but you can't expect me to listen
 to you if you can't justify it.  You have already shown very clearly
 that you aren't even interested in looking at the code, that you
 don't care what it does, but you are against it anyway.

That's because this is not about the code; it's about your behaviour.

 This is not about being part of a team.  You don't have to be forced
 into using someone else's methodology to be part of a team.  Being
 part of a team means respecting other people's metholodogies and
 it means compromising.

I find this quite funny.  You abuse John for not compromising, yet you're 
not willing to compromise on the issue that's really at hand here (and 
which has been highlighted repeatedly since the first day of dispute).

You're asking for respect, but not returning it.  This is about being 
part of a team, not having a fan club.

 This IS about team work, but you are barking up the wrong tree if you
 think I'm the one who's not being a team player here.

Do we see you subordinating your personal goals to those of the team?  

 Say what?  Who said anything about me not wanting to discuss API changes?
 That's all I've been TRYING to do for the last three fucking weeks!

No, you have been arguing to get your code committed, as-is, 
philosophically unchanged.

 Are you discussing API changes?  No, you are basically just bashing me.
 That's all that you people have been doing for three fucking weeks.

This is a consequence of your behaviour.  Had you been more reasonable, 
you'd have had less bashing.

 Now who is being unreasonable?  Why do you believe that it is absolutely
 necessary that I be prevented from committing the work?

Because allowing you to commit it at this stage would represent giving in 
to your attempt to hold the Project to ransom.

Had you moderated your tone and worked within the dictates of the 
situation, you'd probably have found a path that would have allowed your 
code to be committed with little effort.

Unfortunately, you appear not to have learned from your previous 
mistakes, and (again) took an approach which deliberately antagonises 
your co-developers.

You've successfully manufactured a situation from which it is almost
impossible to proceed forward; any benefit to the Project that might be
derived from your code has already been more than offset by time wasted in
response to your behaviour, and actually giving your your head without
seeing due process served is simply not consistent with our intention that
development be managed by consensus.

Despite your repeated attempts to transfer blame elsewhere, you are 
ultimately the root cause of your current dilemma, and likewise you are 
the only person that can resolve it.  Such a resolution is going to 
require a change in approach from you; what you want is eminently 
achievable, you just have to work out that tricky 

Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Julian Elischer



On Thu, 7 Mar 2002, Michael Smith wrote:

 
 Trim your cc's.
 
  I'm sorry, but simply not liking the idea of someone else doing a
  particular optimization now verses later is not a good enough reason
  to require that 40+ hours worth of work be thrown away when that
  other person has stated, repeatedly, that he will support said code.
 
 Given that not optimising the code is consistent with the current SMPng 
 approach, and given that you went and did this work unsolicited, the 
 situation is unfortunate but inevitable.

Geeze Mike I expect bettrer from you..

 
  So far not one person, not even you, has been able to explain why
  the patch should not go in.
 
 It should not be committed because the current SMPng direction is 
 establishment and implementation, not optimisation.

The code actually fixes bugs too. Improvement in performance is a bonus.

 
 Is that plain enough for you?  You're doing the wrong work, as far as the 
 general consensus goes.

No, If he had asked you first (and john didn't exist) whould you have
honestly said
I think that you should be forbidden from looking at fixing that code.

 
  I am angry because you and a number of others are not willing to take
  the work at face value and instead insist on making ridiculous extremist
  assumption into it and then using that opinion to justify not allowing
  the patch to go in.
 
 You are angry because you've decided that you want to do something, and 
 you don't want to be told you can't by someone else.

This is a volunteer process.. Who is to say that anyone is forbidden 
from fixing certain problems, especially when the problems are not in any
particular person's Baliwick. These changes are no more in JHB's area than
they are in BDE's. If BDE had committed them there would not have been 
a peep out of anyone. (And that's a certainty).


 
 Had you been reasonable about the situation, your code would probably have
 been committed and you could have spent the last week or more doing
 something else more interesting.
 
 Instead, you've tried to hold the Project to ransom for your ego.  We 
 don't tolerate this from anyone, no matter how skillful or useful they 
 might otherwise be.

Don't be melodramatic. There was whole week of silence on this topic
when NOT ONE SINGLE PERSON bothered to review the patch. It's interesting
that the loudest people against this patch have not read it.


 
 This is a collaborative effort, and you need to collaborate on the 
 group's terms, not your own.

In a collaborative effort someone would have reviewed the code by now.


 
  I can't fight your opinion of me, but you can't expect me to listen
  to you if you can't justify it.  You have already shown very clearly
  that you aren't even interested in looking at the code, that you
  don't care what it does, but you are against it anyway.
 
 That's because this is not about the code; it's about your behaviour.

The behaviour was ok until he got picked on. 
The patch was backed out within hours of the request
and he's been waiting for a technical review ever since.


 I find this quite funny.  You abuse John for not compromising, yet you're 
 not willing to compromise on the issue that's really at hand here (and 
 which has been highlighted repeatedly since the first day of dispute).

Matt has put his code up for view and stated that he's willing to discuss
it with anyone.
John has hidden his code in 1MB of patches and refused to comment 
on Matt's patch other than to say that he wouldn't have done it.



 
 This is a consequence of your behaviour.  Had you been more reasonable, 
 you'd have had less bashing.

May you be on the receiving end sometime. The initial objections were
because  some one SUSPECTED that jhb had code in that area.

After the patch was backed out, not a single person has bothered to 
review it. Core simply washed it's hands of the deal.
After that I'll tell you that I just about recommended to my company that
we switch to Linux. It was so sickenning.


 Because allowing you to commit it at this stage would represent giving in 
 to your attempt to hold the Project to ransom.

No core's refusal to allow a commit shows a childish attempt to show who's
boss, and to ensure that an uppity developer gets what's comming to him.
Ther was a whole week of silence on the topic when Matt waited for 
comment, review and critisism. The only critisism he got was in the form
of abuse.


 
 Had you moderated your tone and worked within the dictates of the 
 situation, you'd probably have found a path that would have allowed your 
 code to be committed with little effort.

that obviously doesn't work.. see above.


 
 Unfortunately, you appear not to have learned from your previous 
 mistakes, and (again) took an approach which deliberately antagonises 
 your co-developers.
 
 You've successfully manufactured a situation from which it is almost
 impossible to proceed forward; any benefit to 

Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Bruce A. Mah

If memory serves me right, Bruce A. Mah wrote:

[snip]

Disregard.  I hit the wrong button in my MUA.  Sorry for the spammage.

Bruce.




To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Dag-Erling Smorgrav wrote:
 
 Maxim Sobolev [EMAIL PROTECTED] writes:
  Dag-Erling Smorgrav wrote:
   Maxim Sobolev [EMAIL PROTECTED] writes:
Looks like source upgrade path is broken due to PAM. My system is -CURRENT
compiled on 19 February. Please fix.
   Please use 'make world' to upgrade your system.
  I'm using `make world' (well buildworld, but it shouln't matter).
 
 The error message you're reporting indicates that libpam is being
 built with the wrong headers.  This shouldn't happen during 'make
 world'.

Shit Happens[tm]. BTW, why you are ignoring system CFLAGS settings
(optimisations and such) for pam_unix? Please consider attached patch.

-Maxim

--- lib/libpam/modules/pam_unix/Makefile2002/03/07 16:40:34 1.1
+++ lib/libpam/modules/pam_unix/Makefile2002/03/07 16:40:45
@@ -27,7 +27,7 @@
 LIB=   pam_unix
 SHLIB_NAME=${LIB}.so.${SHLIB_MAJOR}
 SRCS=  pam_unix.c pw_copy.c pw_yp.c pw_util.c ypxfr_misc.c ${GENSRCS}
-CFLAGS=-DYP -Dyp_error=warnx \
+CFLAGS+=   -DYP -Dyp_error=warnx \
-I${.OBJDIR} \
-I${.CURDIR}/../../../../libexec/ypxfr \
-I${.CURDIR}/../../../../usr.sbin/vipw \



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Dag-Erling Smorgrav

Maxim Sobolev [EMAIL PROTECTED] writes:
 Shit Happens[tm]. BTW, why you are ignoring system CFLAGS settings
 (optimisations and such) for pam_unix? Please consider attached patch.

*I* am not.  Learn how to use 'cvs annotate'

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread M. Warner Losh

: those reviews object on a purely subjective manner.
: 
: 
: I think this is premature
: 
: I don't consider that to be a technical review? do you?

If that's what he said, no.  However, that's not all that he said.
Also, Jake had several objections from a sparc64 perspective that
weren't answered by dillon.  My memory is different than yours.

But all this he said she said stuff isn't getting us anywhere.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Garance A Drosihn

At 5:43 PM +0200 3/7/02, Maxim Sobolev wrote:
Michael D. Harnois wrote:
   Could this have anything to do with the fact that, since I built
   world yesterday, I can't log in as root?

Bah, just completed `make world' after doing `make includes' and
found that I can't login as *any* user, not only root!!!
Login just hangs after entering password and nothing goes on.

For anyone who is stuck with this problem, note that the problem
happens when doing a normal password check.  So, you *may* be
able to work around this if you have something like authorized
keys set up in openssh.

Or maybe you can log in as one userid, but not some userid like
root (that was my problem -- every userid worked fine except for
root).  If you're lucky enough to set up 'sudo' for a userid you
*can* log into, you may be able to use that to become root.

-- 
Garance Alistair Drosehn=   [EMAIL PROTECTED]
Senior Systems Programmer   or  [EMAIL PROTECTED]
Rensselaer Polytechnic Instituteor  [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

 Mark Murray [EMAIL PROTECTED] writes:
  The problem is in the headers; you changed #include pam_mod_misc.h
  to #include secure/pam_mod_misc.h without ensuring that a (correct)
  pam_mod_misc.h was in an appropriate secure/ dir.
 
 Umm, IIRC 'make world' starts by doing a 'make includes' into
 /usr/obj, which should take care of this.

That is 'make world'. It was broken for make obj  make depend  make,
and pam_krb5 was just plain broken (../Makefile.inc had a broken path).

  I've just finished fixing this (includes a repo-copy) and it will go
  in shortly.
 
 No repo-copy should be necessary.

IMO, the repo-copy is the cleanest, because it solves te above problems
in the most canonical way.

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Maxim Sobolev

Dag-Erling Smorgrav wrote:
 
 Maxim Sobolev [EMAIL PROTECTED] writes:
  Bah, just completed `make world' after doing `make includes' and found
  that I can't login as *any* user, not only root!!! Login just
  hangs after entering password and nothing goes on. DES! PLEASE FIX
  THAT FSKING PAM - within a very short timeframe it's the second time
  I'm having problems due to it and this just isn't acceptable even for
  -current.
 
 Please moderate your language and your attitude.

Sorry, I've overreacted - unlikely combination of unfortunate events,
ya know.

-Maxim

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Dag-Erling Smorgrav

Mark Murray [EMAIL PROTECTED] writes:
  Umm, IIRC 'make world' starts by doing a 'make includes' into
  /usr/obj, which should take care of this.
 That is 'make world'. It was broken for make obj  make depend  make,
 [...]
 IMO, the repo-copy is the cleanest, because it solves te above problems
 in the most canonical way.

Please talk to Ruslan about this.  I suggested doing just what you're
thinking of about a month or two ago, and he rejected it.

DES
-- 
Dag-Erling Smorgrav - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Call for UMA (allocator) testers.

2002-03-07 Thread Jeff Roberson

I have an updated copy of my kernel memory allocator available for general
testing.  If you aren't familiar with this allocator you may want to look
at the arch@ archives under Slab allocator.

This patch has been tested on SMP alpha and single proc x86.  It depends
on recent current changes, so fresh sources are expected.  This patch is
missing the necessary vmstat changes, so you will want to use 'sysctl
vm.zone' to view your memory usage.

I'd like people to test with WITNESS and INVARIANTS, although with these
options on it is somewhat slower than the original kernel.  With these
disabled it is on par.  If you have a SMP machine you will get witness
warnings if you run low on memory.  There is no real problem except that
witness doesn't understand that the condition is safe.

If you do test this patch, please send me an email so I know how many
people are using this.  If you get a lock order violation other than
acquring duplicate lock of same type please let me know.  If you get a
panic, please give me a stack trace (tr in ddb) and the output of call
uma_print_stats in the debugger if that is possible.

This has been debugged and tested over several months so it is quite
stable for me.  Hopefully it will be stable for you too. :-)

The patch and new files are available at:
http://www.chesapeake.net/~jroberson/uma.tar

Untar into src/sys and apply the patch.  After you rerun config you should
be ready to compile.

Thanks,
Jeff


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: 5-CURRENT source upgrade path is broken in PAM

2002-03-07 Thread Mark Murray

 Mark Murray [EMAIL PROTECTED] writes:
   Umm, IIRC 'make world' starts by doing a 'make includes' into
   /usr/obj, which should take care of this.
  That is 'make world'. It was broken for make obj  make depend  make,
  [...]
  IMO, the repo-copy is the cleanest, because it solves te above problems
  in the most canonical way.
 
 Please talk to Ruslan about this.  I suggested doing just what you're
 thinking of about a month or two ago, and he rejected it.

Ruslan is not writing this code; we are.

M
-- 
o   Mark Murray
\_
O.\_Warning: this .sig is umop ap!sdn

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon


:The API is intended for the stage-2 commit.  The stage-1 commit
:is intended to do all the 'hard stuff' in as straightforward
:a manner as possible.  The sysctl / option you talk about here
:existed in my patch set 2 and a half weeks ago.
:
:The API and getting it right is more important than the hard stuff.
:Its not as fun, but the API will outlive the code (consider the next
:arch, and the next).  It may take more of your time due to discussion
:and feedback to get the API in place, but that's part of the cost of
:collaboration.
:...
:I really wish you people would at least read the patch and commit
:message before you comment on it.
:
:I didn't have to read the patch to know that there were concerns and
:on-going discussion about the API.  In this instance, the issues are
:not large and can be remedied quickly - all the more reason for the
:discussion to take place before the commit.

Again, bullshit.  You should have read the patch.   How can you
possibly justify a lecture on what I should and should not be
doing when you don't even read to bother the material under 
discussion?

:I didn't have to read the patch to know that you didn't seem to care
:about getting the API right before commiting the code.  The API

Again, complete and utter bullshit.   You actually believe that
because I want to commit this stuff in multiple stages and decided
that the API change would be in stage 2, that this somehow magically
means that I don't seem to care?   How the hell did you come to
that conclusion?  Did you even bother to read the commit message?

I'll tell you why I want to commit the stuff in multple stages...
BECAUSE THAT ALLOWS THE CORE OF THE CODE TO BE TESTED WHILE THE
REMAINING STUFF CAN BE DISCUSSED AND/OR WORKED ON.  That's why.

I am not going to spend months integrating change after change into
a patchset, having to retest the whole mess every time, and then only
after months commit the final result.  That is not how I work and I
strongly oppose that kind of methodology.  I prefer to work in smaller
chunks and yet here you are trying to justify your nonsense by making
further attacks on my methodologies and code that are completely
absurd and completely unsupported by any evidence whatsoever.

This is complete and utter nonsense.  You seem to believe you know
a lot about my motives without reading one goddamn line of code.
Because you know what?  The commit message laid this all out in
very clear terms.

:I didn't have to read the patch to know that you would only remove your
:commit if someone could point to specific defects in the hard part of
:your submission.  The hard part, how it works, and whether it contained
:any bugs or not was not the real issue.  This is why you and John were
:talking right past each other.

Excuse me, but I think whether something contains bugs or not is
a more serious issue then which source file the code winds up being
in.

And, again, you seem to be making ridiculous assumptions that are simply
not true.  Change the API?  I am doing no such thing.  I am expanding
one portion of the existing API.  The procedural interface has not
changed.  The procedure names have not changed.  The location of the
procedures change, and the capabilities of the procedures have changed,
and certain restrictive assumptions regarding hard interrupt
disablement have been changed. 

But you, and others, do not appear to be willing to face up to the code or
its straightforward intent.  Intead you are reading all sorts of garbage
into its meaning, WITHOUT EVEN BOTHERING TO READ IT.

It is unbelievable to me that a professional such as yourself would stoop
to such tactics without backing it up with one shred of evidence and not
even having bothered to read the code in question.  And instead of
standing up and apologizing for that, you instead feel that you have
to start making wild accusations without one single hard reference
to ANYTHING I have done.

:..
:you can colloborate and coordinate with others in this project.  The only
:issue is how that colloboration takes place, and the *process* for getting
:things done.  If the process makes it twice as hard for us to get things
:done, then it's broken.  In that case, *attack the process*, not the person.
:The process can and will change but only if we set aside personal
:indignity (why should I have to put up with this crap!?!?) and attack
:our problems and goals as engineers.

Hey, I'm the one being attacked here.  This whole mess started with
people attacking me.  If people had let well enough alone.. if people
had simply read the goddamn patch rather then attack its intent (if
you even know what it's intent is since so far you are batting 0 on
that front), then we would not be in this situation.

Instead it's attacked because 

grp.h fix is incomplete

2002-03-07 Thread Andrey A. Chernov

grp.h fix is incomplete because 'u_int32_t' is not defined (but must be)  
for standalone grp.h. Please add some includes for u_int32_t definition
too, probably sys/types.h

To see it, try to compile following program:

#include grp.h
main ()
{}

and get:
/usr/include/grp.h:53: syntax error before `gid_t'
/usr/include/grp.h:53: warning: data definition has no type or storage 
class
/usr/include/grp.h:59: syntax error before `gid_t'
/usr/include/grp.h:64: warning: parameter names (without types) in 
function declaration
/usr/include/grp.h:72: syntax error before `int'

-- 
Andrey A. Chernov
http://ache.pp.ru/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Jake Burkholder

Apparently, On Thu, Mar 07, 2002 at 05:21:21PM -0500,
Robert Watson said words to the effect of;

 
 On Thu, 7 Mar 2002, Warner Losh wrote:
 
  In message [EMAIL PROTECTED] Julian 
Elischer writes:
  : 
  : 
  : On Thu, 7 Mar 2002, Justin T. Gibbs wrote:
  :  
  :  Then do the right things so it will.
  : 
  : Unfortunatly that has been proven to not work.
  : 
  : after reverting the change and silently waiting for a week
  : 1/ no person bothered to review it.
  : 2/ people assumed the patch had gone away.
  
  Ummm, There are reviews in the archives that object to the API as it
  relates to optimization and those objections haven't been sanely
  answered with anything more constructive than BS. 
 
 The primary objections I've seen from Jake, and he posted them as part of
 the earlier thread prior to the commit, was that the API changes proposed
 by Matt don't make sense for the sparc64 implementation, uni-processor or
 multi-processor, and that while these changes might be appropriate for
 i386, he wanted to see the APIs set up in such a way that the differences
 in architectures were hidden in the MD code.  This suggests working some
 more on the API before moving on, and my reading of earlier posts in the
 thread from John was that that was what he had in mind also. 

Yes.  What I would like and what I mentioned before is for this to be
hidden behind cpu_critical_enter/exit.  Specifically, cpu_critical_enter
would be a null macro for i386, which would turn critical_enter into
just an increment, as Matt wanted.  cpu_critical_exit would do all the
magic of unpending interrupts.  The reason for this is that I would
like to see critical_exit handled any pending preemptions for a thread.
We do not yet know exactly how this will work so I would like this to be
done in MI code to start with.  The code must not make assumptions that are
not valid on all platforms.  This is easiest if they use the same code.
This is not about duplication of code in several MD files.

Bruce also had some comments which were shrugged off, I thought they
were important.  Specifically, please do not make unnecessary changes
to the assembler code.  Macros do not need to be defined before they
are used, I believe this was the justification for some of the reordering
in apic_vector.s which makes the patch confusing.  Please do not tab
out the ; \ at the end of the lines in the INTR and FAST_INTR macros
in icu_vector.s.  This just makes unnecessary diffs.  The PUSH_DUMMY
macro must push a reasonable eip value, in addition to the code segment,
so that profiling and stack traces work right.  If you have not already,
please make sure that a trace from inside an interrupt handler that was
unpended looks somewhat normal.  Please also make sure that kgdb is able
to decode the frame properly.  It assumes that the eip of the frame will
be near certain kernel symbols in order to determine what kind of frame
it is.

Jake

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Justin T. Gibbs

:I didn't have to read the patch to know that there were concerns and
:on-going discussion about the API.  In this instance, the issues are
:not large and can be remedied quickly - all the more reason for the
:discussion to take place before the commit.

Again, bullshit.  You should have read the patch.   How can you
possibly justify a lecture on what I should and should not be
doing when you don't even read to bother the material under 
discussion?

Because it isn't relavent.  Until you see that, you will continue to
be frustrated.  You will continue to get angry.  You will continue
to butt heads.  You will continue to act unprofessionally on our lists.
You will continue to piss people off.  And most importantly, you will
continue to lose the battles that you care about.  Is your code in the
tree right now?  No.  That above all else shows that your tactics
are the wrong ones.

:I didn't have to read the patch to know that you didn't seem to care
:about getting the API right before commiting the code.  The API

Again, complete and utter bullshit.   You actually believe that
because I want to commit this stuff in multiple stages and decided
that the API change would be in stage 2, that this somehow magically
means that I don't seem to care?   How the hell did you come to
that conclusion?  Did you even bother to read the commit message?

You came to the conclusion that only *your decision* on what was
an appropriate proceedure was the one that mattered.  That's not
the way this project works.  You can't act unilaterally.  When people
ask you to hold off (and they even asked politely!) so discussion
can take place, that is not the time to commit.

I'll tell you why I want to commit the stuff in multple stages...
BECAUSE THAT ALLOWS THE CORE OF THE CODE TO BE TESTED WHILE THE
REMAINING STUFF CAN BE DISCUSSED AND/OR WORKED ON.  That's why.

One week of discussion will not prevent the code from being tested.

I am not going to spend months integrating change after change into
a patchset, having to retest the whole mess every time, and then only
after months commit the final result.

I've counted weeks so far and those weeks weren't even necessary.  Now
your expecting months and years of delay?  Please.

The only way it will get delayed that long is if you spend all of your
time stomping up and down, writing in all caps, and tell the rest of
us that we have to follow the proceedures you think are appropriate.
That's not how colaboration works.  You need to compromise and not get
all pissed off if the process requires you to delay your commit for a
bit.

That is not how I work and I strongly oppose that kind of methodology.

I think you've made that clear already.  The question is whether you
are willing to compromise so you can be part of a team or not.  That
means, for all of us, that we will not necessarily be able to work in
the way we would personally want, all of the time.  That's what happens
in a group environment.  That's life.

I prefer to work in smaller
chunks and yet here you are trying to justify your nonsense by making
further attacks on my methodologies and code that are completely
absurd and completely unsupported by any evidence whatsoever.

This is not an attack on any such thing.  This is about *process*.  You
want to commit in small chucks?  Great!  You want to get this stuff into
the tree quickly?  Great!  You want to make the code so it can be dynamically
configured for testability?  Great!  You don't want to discuss API changes
that have affects on other ports, and other subsystems prior to committing
them?  That's unacceptable when people are asking you to explain them first,
regardless of how well thought out or implemented they are.  This is not a
race to commit.  This is about developing a well designed system without
killing each other in the process.

This is complete and utter nonsense.  You seem to believe you know
a lot about my motives without reading one goddamn line of code.
Because you know what?  The commit message laid this all out in
very clear terms.

For this kind of change, the commit message should have been the last,
not the first public forum to have expressed these ideas.

:I didn't have to read the patch to know that you would only remove your
:commit if someone could point to specific defects in the hard part of
:your submission.  The hard part, how it works, and whether it contained
:any bugs or not was not the real issue.  This is why you and John were
:talking right past each other.

Excuse me, but I think whether something contains bugs or not is
a more serious issue then which source file the code winds up being
in.

Did I say anything about source files?  This is about discussion prior
to commit.  Nothing more.

And, again, you seem to be making ridiculous assumptions that are simply
not true.  Change the API?  I am doing no such thing.  I am 

Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon


:
:You came to the conclusion that only *your decision* on what was
:an appropriate proceedure was the one that mattered.  That's not
:the way this project works.  You can't act unilaterally.  When people
:ask you to hold off (and they even asked politely!) so discussion
:can take place, that is not the time to commit.

I did no such thing.  I came to the conclusion because not a 
single goddamn person bothered to read the patch and instead
the only argument I got was wait for John and John's only 
argument is I don't like the idea of optimizing this routine
right now as if he would be the only one responsible for
dealing with the consequences.

I'm sorry, but simply not liking the idea of someone else doing a
particular optimization now verses later is not a good enough reason
to require that 40+ hours worth of work be thrown away when that
other person has stated, repeatedly, that he will support said code.

So far not one person, not even you, has been able to explain why
the patch should not go in.  John's only excuse is that he doesn't
like the idea of optimizing it now.  John has stated on several
occassions that he believes I am breaking future work (like preemption).
I have responded every time by asking him to clarify exactly what he
thought would be broken.  He has consistently refused to clarify his
statement.  I have read his tiny little 10-page SMP document and there
is absolutely nothing in that document which is at odds with my patch.
Not one thing.

I am angry because you and a number of others are not willing to take
the work at face value and instead insist on making ridiculous extremist
assumption into it and then using that opinion to justify not allowing
the patch to go in.

I have said, REPEATEDLY, but you can't seem to understand, that I am
totally open to making adjustments to the code.  I am not willing to
throw it away, but I am willing to make adjustments to the code.  I 
don't see why the patch should be held up.  But you know something? 
You and others don't seem to be interested in having a conversation
about possible improvements.  You seem to be out for blood, to prevent
the patch from going in at all costs no matter how good it is, without
even having bothered to read or understand it, and that makes me 
unbelievably angry,

I don't see how you can possibly tell me that I am not being a team
player when I am being told to throw the code away completely.  I
think it's John who is not being the team player here, and others, 
who seem to believe that me throwing the code away is the correct
solution to their ills.

:I'll tell you why I want to commit the stuff in multple stages...
:BECAUSE THAT ALLOWS THE CORE OF THE CODE TO BE TESTED WHILE THE
:REMAINING STUFF CAN BE DISCUSSED AND/OR WORKED ON.  That's why.
:
:One week of discussion will not prevent the code from being tested.

Coming on THREE weeks now.  Three weeks of my time wasted arguing
with people who don't even bother to take the time to understand what
I am trying to accomplish, who seem to regard a relatively 
straightforward patch as somehow being an attack on John's leadership
when that could not be farther from the truth, who seem inclined to
do nothing but bash me personally and supply opinions without one shred
of evidence to back them up.

I can't fight your opinion of me, but you can't expect me to listen
to you if you can't justify it.  You have already shown very clearly
that you aren't even interested in looking at the code, that you
don't care what it does, but you are against it anyway.  You response
is to ignore the points I have brought up and then start bashing me
personally.

:I am not going to spend months integrating change after change into
:a patchset, having to retest the whole mess every time, and then only
:after months commit the final result.
:
:I've counted weeks so far and those weeks weren't even necessary.  Now
:your expecting months and years of delay?  Please.

Gee, lets see... why don't YOU ask JOHN how long he intends to wait
before he allows this sort of optimization to be made?  Eh?  Please.

:
:That is not how I work and I strongly oppose that kind of methodology.
:
:I think you've made that clear already.  The question is whether you
:are willing to compromise so you can be part of a team or not.  That
:means, for all of us, that we will not necessarily be able to work in
:the way we would personally want, all of the time.  That's what happens
:in a group environment.  That's life.

This is not about being part of a team.  You don't have to be forced
into using someone else's methodology to be part of a team.  Being
part of a team means respecting other people's metholodogies and
it means compromising.  There has been no 

Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Julian Elischer



On Thu, 7 Mar 2002, Justin T. Gibbs wrote:

 
 The only way it will get delayed that long is if you spend all of your
 time stomping up and down, writing in all caps, and tell the rest of
 us that we have to follow the proceedures you think are appropriate.
 That's not how colaboration works.  You need to compromise and not get
 all pissed off if the process requires you to delay your commit for a
 bit.

Justin, the stuff was backed out when requested, and has been so for
quite a while now.

NOT ONE SINGLE of the dog-in-the-manger people  has bothered to review it
in that week. How long is he expected to wait?
John has only said that somehow it aesthetically offends his sensibilities
in some way.  He has certainly not given any techincal reason to not do
it, (that I have seen).

How long is a person supposed to wait when no-one can give a reason that
it should not be committed and there are reasons that it should?

 
 I prefer to work in smaller
 chunks and yet here you are trying to justify your nonsense by making
 further attacks on my methodologies and code that are completely
 absurd and completely unsupported by any evidence whatsoever.
 
 This is not an attack on any such thing.  This is about *process*.  You
 want to commit in small chucks?  Great!  You want to get this stuff into
 the tree quickly?  Great!  You want to make the code so it can be dynamically
 configured for testability?  Great!


  You don't want to discuss API changes
 that have affects on other ports, and other subsystems prior to committing
 them?  That's unacceptable when people are asking you to explain them first,
 regardless of how well thought out or implemented they are.  This is not a
 race to commit.  This is about developing a well designed system without
 killing each other in the process.

Talk about puting words into another person's mouth!
NOT ONE SINGLE PERSON has asked to discuss this work!
Matt has already said that he would GLADLY discuss it with anyone who's
interested to do so. So far tehre ahve been no takers.


 
 For this kind of change, the commit message should have been the last,
 not the first public forum to have expressed these ideas.

It was being discusse on mailing lists as well as privatly before teh
commit.

 
 Did I say anything about source files?  This is about discussion prior
 to commit.  Nothing more.

 
 How is expanding an API not a change to that API?  Why is it that when
 other developers express a need to discuss these changes prior to them
 being committed, their concerns don't matter to you?  Are you the only
 person in the project that can't keep changes in your local tree for
 a few days while you present your ideas?

 I have done no such thing.  The facts are very simple:
Looks very much like it from this direction.


 
 Matt:   I'm going to commit this code to the tree
 Others: We should discuss the rammifications first.
 Matt: We can discuss it after its in.
 Others: No, we need to discuss it first.
 Matt:   Commit
 Others: Back it out until we discuss it.
 Matt: !@#$%^$@#.  Every time I try to do something its blocked


Matt: Backs out: Ok so what do you want to discuss?
Others: .. Oh, nothing really, we just felt like stuffing you around
again.



 
 
 That's not how I perceived this at all.  John needs to be active in the
 discussion on changes so they are resolved quickly and don't hold you
 back.  I have not said one thing about your changes not going in other
 than to say that they should be discussed first.  If John doesn't want
 to have to merge with you, he'll have to get his patches into the tree
 just like anyone else.

No, Core has just said that he doesn't because he can over-rule any change
in the kernel. And there is no requirement for him to justify it.


  Regardless, you have to be willing to discuss
 and perhaps refine your changes prior to committing them.  This is true
 for anyone on the project, not just you.

He's been sitting around for a week waiting for a single person to want
to discuss it. I challenge you to find a single person who has asked to 
discuss the design. (and actually done it).

 
 It is only a huge deal because it was made into a huge deal.  If the
 change had been discussed prior to being pushed into the tree, this
 would never have happened.  I don't think that John, or anyone else, is
 opposed to the change going in once some small issues are discussed first.
 Just get over this I've been abused bit already and discuss the changes!
 We all want to move on and I'd rather see us moving on with your changes
 than without.

No it's only a huge deal because OTHERS made it a huge deal.

 
 --
 Justin
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread David Greenman

No, Core has just said that he doesn't because he can over-rule any change
in the kernel. And there is no requirement for him to justify it.

   That is definately *NOT* what core has said. Please go re-read our
announcement of the SMPng tech lead appointment. We specifically indicate
that the tech lead is obligated to provide justification for any decisions
that he may make.

-DG

David Greenman
Co-founder, The FreeBSD Project - http://www.freebsd.org
President, TeraSolutions, Inc. - http://www.terasolutions.com
President, Download Technologies, Inc. - http://www.downloadtech.com
Pave the road of life with opportunities.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Julian Elischer



On Thu, 7 Mar 2002, David Greenman wrote:

 No, Core has just said that he doesn't because he can over-rule any change
 in the kernel. And there is no requirement for him to justify it.
 
That is definately *NOT* what core has said. Please go re-read our
 announcement of the SMPng tech lead appointment. We specifically indicate
 that the tech lead is obligated to provide justification for any decisions
 that he may make.

So, where is it?


 
 -DG
 
 David Greenman
 Co-founder, The FreeBSD Project - http://www.freebsd.org
 President, TeraSolutions, Inc. - http://www.terasolutions.com
 President, Download Technologies, Inc. - http://www.downloadtech.com
 Pave the road of life with opportunities.
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Justin T. Gibbs


:
:You came to the conclusion that only *your decision* on what was
:an appropriate proceedure was the one that mattered.  That's not
:the way this project works.  You can't act unilaterally.  When people
:ask you to hold off (and they even asked politely!) so discussion
:can take place, that is not the time to commit.

I did no such thing.

Let me quote you from below:

So, you see, I didn't just commit it out of nowhere.  I waited
what I believed to be a reasonable period of time.

So your oppinion on what was a reasonable period of time was the
only one that mattered. Q.E.D.

I came to the conclusion because not a 
single goddamn person bothered to read the patch and instead
the only argument I got was wait for John and John's only 
argument is I don't like the idea of optimizing this routine
right now as if he would be the only one responsible for
dealing with the consequences.

Actually, John's reaction to the patch is a secondary issue.  He
wasn't even able to read the lists when this thing blew up.  He could
have fallen over backward with love for your changes and you still
would have strewn cuss words all over our lists.

[More talk about the irrelevant contents of the patch and
 40 hours of work being thrown away paranoia.]

I am angry because you and a number of others are not willing to take
the work at face value and instead insist on making ridiculous extremist
assumption into it and then using that opinion to justify not allowing
the patch to go in.

How many times do I have to say this?  The patch is not the issue.  Most
likely it will be incorperated into the tree shortly.  Yawn

I'm sorry Matt, but even if these changes are gold lined, it doesn't
change the fact that you acted unilaterally in a manner that is not
conducive to team work.  That it.  That's really it.

Now do you want me to go chew out John too.  Okay.  John isn't being
super professional either.  The fact that you started this doesn't change
that.  You both have done things that you shouldn't have.  Now instead
of trying to convince us that you are completely without reproach, why
not move forward in some constructive manner?  Aren't you out of breath
yet?  Aren't your fingers tired of typing the same old worn out argument,
My code excuses my behavior! again and again?

:One week of discussion will not prevent the code from being tested.

Coming on THREE weeks now.  Three weeks of my time wasted arguing
with people who don't even bother to take the time to understand what
I am trying to accomplish...

This is your choice Matt.  You may not realize it, but you are in control
of how long this wears on.

Gee, lets see... why don't YOU ask JOHN how long he intends to wait
before he allows this sort of optimization to be made?  Eh?  Please.

Hey John.  Can you comment on whatever issues you have with the content
of these changes?  If the API is not compatible with what you are doing,
please explain why and how those conflicts might be resolved.  Assuming
that these issues can be addressed and the optimization can be disabled
via a configuration option, what further reasons are there to not allow
this change to go into the tree?

:That is not how I work and I strongly oppose that kind of methodology.
:
:I think you've made that clear already.  The question is whether you
:are willing to compromise so you can be part of a team or not.  That
:means, for all of us, that we will not necessarily be able to work in
:the way we would personally want, all of the time.  That's what happens
:in a group environment.  That's life.

This is not about being part of a team.

I've played hide and seek with people that feel this way.
1, 2, 3 Seems like a reasonable amount of time to me...  Ha Ha found
you!

You don't have to be forced into using someone else's methodology to
be part of a team.

No, you have to accept the team's methodology in areas that affect the
team.  As we say in the States, your personal liberties end where they
infrindge on mine.  This is no different.  The CVS repository is not
yours to commit to any way you like.  The team has a methodology for
that and as soon as that methodology is broken, we fall into situations
just like this one.

This IS about team work, but you are barking up the wrong tree if you
think I'm the one who's not being a team player here.

I know you believe this.  Just as you believed you were reasonable in
committing that code when you were asked not to.  Just as you continue
to insist that the content of your patch is the issue here.  I can't
convince you otherwise, but perhaps I can convince you to drop your
self righteousness for a bit so we can move on?

I HAVE NEVER SAID THAT THE CODE COULD NOT BE CHANGED.  Hello?  Are
you even listening to what I am saying?

Actually?  No.  This isn't about the code, so your comments about it
have absolutely no sway with me.  You should save your breath for 

Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Justin T. Gibbs



On Thu, 7 Mar 2002, Justin T. Gibbs wrote:

 
 The only way it will get delayed that long is if you spend all of your
 time stomping up and down, writing in all caps, and tell the rest of
 us that we have to follow the proceedures you think are appropriate.
 That's not how colaboration works.  You need to compromise and not get
 all pissed off if the process requires you to delay your commit for a
 bit.

Justin, the stuff was backed out when requested, and has been so for
quite a while now.

Sure.  That doesn't excuse the fact that it was committed in the first
place.

NOT ONE SINGLE of the dog-in-the-manger people  has bothered to review it
in that week. How long is he expected to wait?

So, after screaming obsenities at John and creating a big stink on our
lists, you want to know why those in the know haven't felt like engaging
Matt?  I'm not saying that is an excuse, just a possible reason.

I've already asked John to move this stuff along in my other mail, so
don't try to pin me up as an obstructionist.

He's been sitting around for a week waiting for a single person to want
to discuss it.

Hey, if Matt wants to believe that he can only be productive once his
changes are committed, that is his problem.

 It is only a huge deal because it was made into a huge deal.  If the
 change had been discussed prior to being pushed into the tree, this
 would never have happened.  I don't think that John, or anyone else, is
 opposed to the change going in once some small issues are discussed first.
 Just get over this I've been abused bit already and discuss the changes!
 We all want to move on and I'd rather see us moving on with your changes
 than without.

No it's only a huge deal because OTHERS made it a huge deal.

So we're supposed to ignore it when Matt breaks the rules just because
he is such a good hacker?  Been there.  Tried that.  Now where here
again.

--
Justin

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Bruce A. Mah

If memory serves me right, Justin T. Gibbs wrote:
 
 :
 :You came to the conclusion that only *your decision* on what was
 :an appropriate proceedure was the one that mattered.  That's not
 :the way this project works.  You can't act unilaterally.  When people
 :ask you to hold off (and they even asked politely!) so discussion
 :can take place, that is not the time to commit.
 
 I did no such thing.
 
 Let me quote you from below:
 
 So, you see, I didn't just commit it out of nowhere.  I waited
 what I believed to be a reasonable period of time.
 
 So your oppinion on what was a reasonable period of time was the
 only one that mattered. Q.E.D.
 
 I came to the conclusion because not a 
 single goddamn person bothered to read the patch and instead
 the only argument I got was wait for John and John's only 
 argument is I don't like the idea of optimizing this routine
 right now as if he would be the only one responsible for
 dealing with the consequences.
 
 Actually, John's reaction to the patch is a secondary issue.  He
wasn't even able to read the lists when this thing blew up.  He could
 have fallen over backward with love for your changes and you still
 would have strewn cuss words all over our lists.
 
 [More talk about the irrelevant contents of the patch and
  40 hours of work being thrown away paranoia.]
 
 I am angry because you and a number of others are not willing to take
 the work at face value and instead insist on making ridiculous extremist
 assumption into it and then using that opinion to justify not allowing
 the patch to go in.
 
 How many times do I have to say this?  The patch is not the issue.  Most
 likely it will be incorperated into the tree shortly.  Yawn
 
 I'm sorry Matt, but even if these changes are gold lined, it doesn't
 change the fact that you acted unilaterally in a manner that is not
 conducive to team work.  That it.  That's really it.
 
 Now do you want me to go chew out John too.  Okay.  John isn't being
 super professional either.  The fact that you started this doesn't change
 that.  You both have done things that you shouldn't have.  Now instead
 of trying to convince us that you are completely without reproach, why
 not move forward in some constructive manner?  Aren't you out of breath
 yet?  Aren't your fingers tired of typing the same old worn out argument,
 My code excuses my behavior! again and again?
 
 :One week of discussion will not prevent the code from being tested.
 
 Coming on THREE weeks now.  Three weeks of my time wasted arguing
 with people who don't even bother to take the time to understand what
 I am trying to accomplish...
 
 This is your choice Matt.  You may not realize it, but you are in control
 of how long this wears on.
 
 Gee, lets see... why don't YOU ask JOHN how long he intends to wait
 before he allows this sort of optimization to be made?  Eh?  Please.
 
 Hey John.  Can you comment on whatever issues you have with the content
 of these changes?  If the API is not compatible with what you are doing,
 please explain why and how those conflicts might be resolved.  Assuming
 that these issues can be addressed and the optimization can be disabled
 via a configuration option, what further reasons are there to not allow
 this change to go into the tree?
 
 :That is not how I work and I strongly oppose that kind of methodology.
 :
 :I think you've made that clear already.  The question is whether you
 :are willing to compromise so you can be part of a team or not.  That
 :means, for all of us, that we will not necessarily be able to work in
 :the way we would personally want, all of the time.  That's what happens
 :in a group environment.  That's life.
 
 This is not about being part of a team.
 
 I've played hide and seek with people that feel this way.
 1, 2, 3 Seems like a reasonable amount of time to me...  Ha Ha found
 you!
 
 You don't have to be forced into using someone else's methodology to
 be part of a team.
 
 No, you have to accept the team's methodology in areas that affect the
 team.  As we say in the States, your personal liberties end where they
 infrindge on mine.  This is no different.  The CVS repository is not
 yours to commit to any way you like.  The team has a methodology for
 that and as soon as that methodology is broken, we fall into situations
 just like this one.
 
 This IS about team work, but you are barking up the wrong tree if you
 think I'm the one who's not being a team player here.
 
 I know you believe this.  Just as you believed you were reasonable in
 committing that code when you were asked not to.  Just as you continue
 to insist that the content of your patch is the issue here.  I can't
 convince you otherwise, but perhaps I can convince you to drop your
 self righteousness for a bit so we can move on?
 
 I HAVE NEVER SAID THAT THE CODE COULD NOT BE CHANGED.  Hello?  Are
 you even listening 

Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon

:Yes.  What I would like and what I mentioned before is for this to be
:hidden behind cpu_critical_enter/exit.  Specifically, cpu_critical_enter
:would be a null macro for i386, which would turn critical_enter into
:just an increment, as Matt wanted.  cpu_critical_exit would do all the
:magic of unpending interrupts.  The reason for this is that I would
:like to see critical_exit handled any pending preemptions for a thread.
:We do not yet know exactly how this will work so I would like this to be
:done in MI code to start with.  The code must not make assumptions that are
:not valid on all platforms.  This is easiest if they use the same code.
:This is not about duplication of code in several MD files.

We can't, because the MI code makes some rather blatent assumptions
in regards to cpu_critical_enter and exit.  Take the witness code,
for example.  So we cannot safely null-out those macros.  In fact, 
the MI code also makes some rather blatent assumptions in regards 
to critical_enter() and exit which I have also had to clean up 
(and which will need considerably more cleanup).

These assumptions include, just as an example:  The witness code
calling cpu_critical_enter()/exit without holding td_critnest count,
and Peter's now withdrawn code which explicitly released the cpu
critical section while holding a non-zero td_critnest count.  In
otherwords, really aweful hacks.  So we can't just NULL out those
inlines.

Trying to keep critical_enter()/critical_exit() MI and
cpu_critical_enter()/cpu_critical_exit() MD and separated doesn't
make much sense to me, because frankly critical_enter() and
critical_exit() are tiny little routines (and will remain tiny even
after SWI and preemption is added) and I can't think of any reason
to force higher complexity in the routines due to the separation.

In short, critical_enter()/critical_exit() are TIGHTLY INTEGRATED
with cpu_critical_enter/exit despite your attempt to make 
critical_enter/exit MI.  What my patch does is accept as true the
fact that the two sets of routines are, in fact, tightly integrated,
and then implements them in a more sensible way (or, more to the
point, allows each architecture to implement them in the proper
manner as befits the architecture). 

The API's are still MI, but the implementation is MD.

:Bruce also had some comments which were shrugged off, I thought they
:were important.  Specifically, please do not make unnecessary changes
:to the assembler code.  Macros do not need to be defined before they
:are used, I believe this was the justification for some of the reordering
:in apic_vector.s which makes the patch confusing.  Please do not tab
:out the ; \ at the end of the lines in the INTR and FAST_INTR macros
:in icu_vector.s.  This just makes unnecessary diffs.  The PUSH_DUMMY
:macro must push a reasonable eip value, in addition to the code segment,
:so that profiling and stack traces work right.  If you have not already,
:please make sure that a trace from inside an interrupt handler that was
:unpended looks somewhat normal.  Please also make sure that kgdb is able
:to decode the frame properly.  It assumes that the eip of the frame will
:be near certain kernel symbols in order to determine what kind of frame
:it is.
:
:Jake

Actually all I did there was square up icu_vector.s so it looked
almost the same as apic_vector.s.  I would consider that an improvement.
Besides, I find it very difficult to work on those macros without 
tabbing out the backslashes.  I moved some of the #defines around due
to it otherwise being a forward reference.  This turned out not to be
an issue since the macros aren't actually used until later in the code,
but I don't like forward referenced macros anyway so I left it in.

Insofar as diffs go, I'm afraid even the most conservative changes
to the assembly to support interrupt deferral would make for a pretty
big diff set.

I'm not going to change them now, no, but I don't see this as being
a show stopper in the least.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Garance A Drosihn

At 7:04 PM -0800 3/7/02, Matthew Dillon wrote:
:Bruce also had some comments which were shrugged off, I thought they
:were important.  Specifically, please do not make unnecessary changes
:to the assembler code.  Macros do not need to be defined before they
:are used, I believe this was the justification for some of the
:reordering in apic_vector.s which makes the patch confusing.  Please
:do not tab out the ; \ at the end of the lines in the INTR and
:FAST_INTR macros in icu_vector.s.  This just makes unnecessary diffs.
:
:Jake

 Actually all I did there was square up icu_vector.s so it looked
 almost the same as apic_vector.s.  I would consider that an
 improvement.

Perhaps that part of the update could be considered cosmetic, and
thus be done as a separate update -- just so people can tell which
lines are cosmetic changes and which ones are substantive.  That is
more work for you, but it makes it easier on reviewers, and it is
certainly consistent with what developers are asked to do on other
updates they make.

You'll still probably have a debate on the wonderfulness of that
cosmetic change, but at least it makes it easier for the major
changes to looked at and commented on separately.

-- 
Garance Alistair Drosehn=   [EMAIL PROTECTED]
Senior Systems Programmer   or  [EMAIL PROTECTED]
Rensselaer Polytechnic Instituteor  [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Julian Elischer



On Thu, 7 Mar 2002, Justin T. Gibbs wrote:
 
 Then do the right things so it will.

Unfortunatly that has been proven to not work.

after reverting the change and silently waiting for a week
1/ no person bothered to review it.
2/ people assumed the patch had gone away.



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Warner Losh

In message [EMAIL PROTECTED] Julian 
Elischer writes:
: 
: 
: On Thu, 7 Mar 2002, Justin T. Gibbs wrote:
:  
:  Then do the right things so it will.
: 
: Unfortunatly that has been proven to not work.
: 
: after reverting the change and silently waiting for a week
: 1/ no person bothered to review it.
: 2/ people assumed the patch had gone away.

Ummm, There are reviews in the archives that object to the API as it
relates to optimization and those objections haven't been sanely
answered with anything more constructive than BS.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Julian Elischer

those reviews object on a purely subjective manner.


I think this is premature

I don't consider that to be a technical review? do you?

they do not even comment on the bug-fixing aspect of the patch.

On Thu, 7 Mar 2002, Warner Losh wrote:

 In message [EMAIL PROTECTED] Julian 
Elischer writes:
 : 
 : 
 : On Thu, 7 Mar 2002, Justin T. Gibbs wrote:
 :  
 :  Then do the right things so it will.
 : 
 : Unfortunatly that has been proven to not work.
 : 
 : after reverting the change and silently waiting for a week
 : 1/ no person bothered to review it.
 : 2/ people assumed the patch had gone away.
 
 Ummm, There are reviews in the archives that object to the API as it
 relates to optimization and those objections haven't been sanely
 answered with anything more constructive than BS.
 
 Warner
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-current in the body of the message
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread John Baldwin


On 07-Mar-02 Matthew Dillon wrote:
 
:Search for paper John Baldwin and find link 6:
:  
:http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=199282+204026+/usr/local/www/db/
:text/2002/freebsd-arch/20020303.freebsd-arch
:
:The actual paper is at:
:  http://www.FreeBSD.org/~jhb/smpng/design/article.{ps,pdf}
:
:-J
:--
:Jeroen C. van Gelderen - [EMAIL PROTECTED]
 
 Ok... I've read it.  The sections on interrupts and critical sections
 are fully compatible with my patch.  The one section... basically
 the last sentence of the last paragraph, is exactly the piece that
 my patch cleans up and makes more flexible.  Instead of requiring that
 cpu_critical_*() always be used for the initial critical_enter() my
 patch makes it optional, and for I386 I use that flexibility to allow
 critical_*() to NOT have to call cpu_critical_*().

You seemed to have missed the entire part where we handle deferred preemptions
in MI code in critical_exit().  The critical_enter/exit stuff really exists to
support the preemption code and to get rid of the various FOO_NOSWITCH flags. 
I think it is ok to remove the linkage between critical_enter/exit and
cpu_critical_* (possibly even renaming cpu_critical_* to a better name) and to
allow arch's to optimize cpu_critical_* but leave critical_* as MI code. 
That's what I've asked for from the start and Jake even suggested it from the
start.

I'm still not comfortable with the optimiation, but changing the MI critical_*
code is by far my biggest objection to the code.

   -Matt
   Matthew Dillon 
   [EMAIL PROTECTED]

-- 

John Baldwin [EMAIL PROTECTED]http://www.FreeBSD.org/~jhb/
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Robert Watson


On Thu, 7 Mar 2002, Warner Losh wrote:

 In message [EMAIL PROTECTED] Julian 
Elischer writes:
 : 
 : 
 : On Thu, 7 Mar 2002, Justin T. Gibbs wrote:
 :  
 :  Then do the right things so it will.
 : 
 : Unfortunatly that has been proven to not work.
 : 
 : after reverting the change and silently waiting for a week
 : 1/ no person bothered to review it.
 : 2/ people assumed the patch had gone away.
 
 Ummm, There are reviews in the archives that object to the API as it
 relates to optimization and those objections haven't been sanely
 answered with anything more constructive than BS. 

The primary objections I've seen from Jake, and he posted them as part of
the earlier thread prior to the commit, was that the API changes proposed
by Matt don't make sense for the sparc64 implementation, uni-processor or
multi-processor, and that while these changes might be appropriate for
i386, he wanted to see the APIs set up in such a way that the differences
in architectures were hidden in the MD code.  This suggests working some
more on the API before moving on, and my reading of earlier posts in the
thread from John was that that was what he had in mind also. 

I don't pretend to understand all the issues here, but I think it's
important to recognize that there have been several coherrent responses to
the current patch that do need to be addressed.  I think the preference
I've seen from a number of developers is that the be addressed before the
commit, rather than after. 

Robert N M Watson FreeBSD Core Team, TrustedBSD Project
[EMAIL PROTECTED]  NAI Labs, Safeport Network Services



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon

:
:In otherwords.  You acted unilaterally.  You seem to be making my
:arguments for me.  Again. Thanks!

No, I am not acting unilaterally, but neither do I feel it is appropriate
to be told to wait indefinitely (and I am STILL waiting by the way!).
When I commit something it isn't set in stone.  If there's a problem
with the commit, or it doesn't integrate just right with something else,
etc etc etc... I have no problem discussing and modifying the source.
To me, the commit is a way to stage the work out, not the final chapter.

This may not have been discussed with John prior to my wanting to commit
it, but it was discussed.  It was discussed on the lists, in public,
and the discussion was quite reasonable in my view until I tried to 
commit it.  Now contrast that with, say, Peter's PMAP commit.  No
discussion on the public lists AT ALL, no warning, no heads up, nothing.
Did anyone complain?  No.   Contrast that commit with my critical_*()
work.  (Now, in fact, I am not faulting Peter nor saying that he
should not have done the commit.  I am simply contrasting it with
my own work).

My making a commit is not only not acting unilaterally, it is not
setting the work in stone and it is not terminating debate or review
either.  It is just a stepping stone and I believe it is wholely 
inappropriate for you or anyone else to ask that a single stone not even
be set down on the table when I have an armful of them without giving
a reasonable reason for the request.

You are at fault for not researching the situation before opening your
mouth, and that you get burned for it is nobody's fault but your own.
You are at fault for misunderstanding the purpose of the commit and
ignoring my repeated statements regarding further discussion.  You are
at fault for assuming that my making this commit somehow means that I
am not willing to continue a reasoned debate on the issues involved.

Justin, you need to take a step back and really think about what you
are tring to prove here.

-Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: grp.h fix is incomplete

2002-03-07 Thread Garance A Drosihn

At 9:25 PM +0300 3/7/02, Andrey A. Chernov wrote:
grp.h fix is incomplete because 'u_int32_t' is not defined
(but must be) for standalone grp.h. Please add some includes
for u_int32_t definition too, probably sys/types.h

As a minor side question, should we also have that defined as
uint32_t instead of u_int32_t ?

-- 
Garance Alistair Drosehn=   [EMAIL PROTECTED]
Senior Systems Programmer   or  [EMAIL PROTECTED]
Rensselaer Polytechnic Instituteor  [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon


:: after reverting the change and silently waiting for a week
:: 1/ no person bothered to review it.
:: 2/ people assumed the patch had gone away.
:
:Ummm, There are reviews in the archives that object to the API as it
:relates to optimization and those objections haven't been sanely
:answered with anything more constructive than BS.
:
:Warner

I think John has a right to object to the work based on it being an
optimization, but that should not sufficient reason in anyone's book to 
veto a commit, especially something that is as straightforward and
obvious as I believe my work to be in this case.  Unlike John, I am
not the type of person who leaves hundreds of kilobytes of patches laying
around my tree.  For me completed work is either committable, or it
should be thrown away.

John's other objections - in regards to interference with future work,
are completely unsubstantiated.  He has not explained any reasoning for
his objections AT ALL other then to make vague, undirected comments
about how it doesn't fit with his idea of the world.  He pointed me to
a 10-page mini paper and I even after reading it I do not see how any
of my work inteferes with anything he is doing.

Not a single person beyond John has voiced ANY objection to work beyond
the wait for John to get back objection and the talk to John
objection.  Not one person.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon


:You seemed to have missed the entire part where we handle deferred preemptions
:in MI code in critical_exit().  The critical_enter/exit stuff really exists to
:support the preemption code and to get rid of the various FOO_NOSWITCH flags. 
:I think it is ok to remove the linkage between critical_enter/exit and
:cpu_critical_* (possibly even renaming cpu_critical_* to a better name) and to
:allow arch's to optimize cpu_critical_* but leave critical_* as MI code. 
:That's what I've asked for from the start and Jake even suggested it from the
:start.
:
:I'm still not comfortable with the optimiation, but changing the MI critical_*
:code is by far my biggest objection to the code.
:
:John Baldwin [EMAIL PROTECTED]http://www.FreeBSD.org/~jhb/

Who said anything about not handling deferred preemptions in
MI code in critical_exit()?  You mean just because I am moving less then
30 lines of code from MI to MD you object to the concept?  What
is so difficult about having the code, in the MD source files, do this:

if (td-whatever_preemption_request) 
mi_function_to_deal_with_preemption();

We do this sort of thing all the time in MD code.  It's useful because
it allows us to focus a critical piece of code in a single source file
rather then forcing us to split the critical piece of code into three or
four source files as your current code does... all in the name of placing
a bare 30 lines of code (less!) in kern/ instead of in arch/.../?

Because in my view that is ALL you are talking about here... I don't see
why the above code has to be in an MI procedure.  It can just as easily
be in an MD implementation of critical_*() and I believe the implementation
of the API is far easier to work with and far more flexible with these
two procedures sitting in MD rather then MI.

I don't see how my code can possibly interfere with deferred preemption.
Two lines of code in arch does not constitute interference, and I am
certainly willing to deal with that myself... you don't have to lift one
bloody finger.  All you need to do is write your MI preemption handling
code and you would have to do that in any case.

Look at all the hacks you ALREADY have to deal with the split you impose 
between critical_*() and cpu_critical_*().  Look at the hack peter did
and look at the incorrect assumptions you already have made in MI code
due to the way you constructed the original API (hard interrupt
disablement).

And, most of all, I don't see how something so trivial should result
in you vetoing my commit.  I mean, it's no skin off your nose if
down the line it turns out that critical_*() gets complex enough to 
warrent an MI split, because I would be the one doing it.  But, right
now, even with the preemption stuff you are talking about, there is NO
REASON to keep a forced split and plenty of reasons to move it to MD.

-Matt
Matthew Dillon 
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon


:The primary objections I've seen from Jake, and he posted them as part of
:the earlier thread prior to the commit, was that the API changes proposed
:by Matt don't make sense for the sparc64 implementation, uni-processor or
:multi-processor, and that while these changes might be appropriate for
:i386, he wanted to see the APIs set up in such a way that the differences

Huh?  I have made no API changes that have any effect whatsoever on
these architectures.  Jake is free to implement whatever he wants for
them, all I intend to do is make it easier and more flexible to do so.
Sure, I intend to move critical_enter() and critical_exit() from MI to
MD, but all that means for non-i386 architectures is that the EXACT
procedures for critical_enter() and critical_exit() now sitting in
kern/kern_switch.c will be copied into arch/arch/critical.c.  That's
the only effect for these other architectures.

How our architectures handle things like deferred interrupts and SWI
is architecture specific.  It always has been and always will be.  That
doesn't mean we have to duplicate a large piece of code in
arch/arch/critical.c (for example, SWI handling or deferred 
context switch support), it simply means that these functions will be
written in an MI section and the MD critical_*() functions will simply
call the MI functions.  

This work will come to a grand total of 2 or 4 lines of code per
architecture.  Big fucking deal!

-Matt
Matthew Dillon 
[EMAIL PROTECTED]

:I don't pretend to understand all the issues here, but I think it's
:important to recognize that there have been several coherrent responses to
:the current patch that do need to be addressed.  I think the preference
:I've seen from a number of developers is that the be addressed before the
:commit, rather than after. 
:
:Robert N M Watson FreeBSD Core Team, TrustedBSD Project
:[EMAIL PROTECTED]  NAI Labs, Safeport Network Services


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Bosko Milekic


On Thu, Mar 07, 2002 at 02:43:36PM -0700, Warner Losh wrote:
 In message [EMAIL PROTECTED] Julian 
Elischer writes:
 : 
 : 
 : On Thu, 7 Mar 2002, Justin T. Gibbs wrote:
 :  
 :  Then do the right things so it will.
 : 
 : Unfortunatly that has been proven to not work.
 : 
 : after reverting the change and silently waiting for a week
 : 1/ no person bothered to review it.
 : 2/ people assumed the patch had gone away.
 
 Ummm, There are reviews in the archives that object to the API as it
 relates to optimization and those objections haven't been sanely
 answered with anything more constructive than BS.

  They are BS. Saying it's not good because it's an optimization is
not a technical argument. I've already mentionned this before but I'm
going to do it one more time, for the record: optimizations can be
anything in SMPng. Heck, you could say that locking down a subsystem is
an optimization. Even doing lockdowns (what John wants everyone to be
doing) is something that is likely to change in the future. You can't
prevent API changes from happening, they are part of regular
evolutionary steps.
  Just look at what happened to the mbuf subsystem. I initially locked
it down and it has changed an incredible amount. The API changed, other
things changed. It's normal because it's part of regular code evolution.
Therefore, you can't just say that the work some of us are doing is an
optimization and that because it is that we shouldn't be doing it
right now. These are things that have been in the TODO for a while now
and are part of the general direction of this project and delaying them
by claiming that it's too early and that the API might change is just
preventing them from getting tested. Sure, the API may change. That's
normal. You can't possibly get the API right at step 1. But you _can_
get the backend stuff at least working in the right direction.
  The same thing happened to our mutex code. The API totally changed (I
cleaned it up myself). But does that mean that all the initial work done
on mutex locks was wrong? I hope not. Without it, we never could have
evolved to where we have.
  I've looked at both JHB's paper and Matt's patch. To me, it doesn't
look like the direction we're supposed to be headed in is wrong. I don't
see a technical argument (yet) saying otherwise besides for this it's
an optimization and shouldn't go in thing. Please, if there is one,
state it. The same applies to the ithread lightweight stuff I've been
working on.

 Warner

-- 
Bosko Milekic
[EMAIL PROTECTED]
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Greg Lehey

On Tuesday,  5 March 2002 at  9:43:29 -0800, Matthew Dillon wrote:
 phk wrote:
 you have a right to bully the only person who have consistently
 chugged away at the SMPng project when practically everybody else
 (you included) defected.

 This is an extreme misrepresentation of the facts.  I stated very
 clearly at the original Yahoo SMP summit that I would soon not be
 available.  I did what work I could before I became unavailable, and
 then I was, SURPRISE!  Unavailable for 2 years!  I did not abandon
 anyone.  I wrote that code that is the basis for allowing us to remove
 Giant from syscalls, I wrote the original idle process code including
 all the hard assembly stuff.  I cleaned up the pre-SMPng SPL masks (cpl
 and cml).  I did what I could in the time I had.

I've got to defend Matt here.  This happened exactly the way he says.
This in no way detracts from the work John has done, of course.

Greg
--
See complete headers for address and phone numbers

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Greg Lehey

On Thursday,  7 March 2002 at 14:30:47 -0800, Matthew Dillon wrote:

 after reverting the change and silently waiting for a week
 1/ no person bothered to review it.
 2/ people assumed the patch had gone away.

 Ummm, There are reviews in the archives that object to the API as it
 relates to optimization and those objections haven't been sanely
 answered with anything more constructive than BS.

 Warner

 I think John has a right to object to the work based on it being an
 optimization, but that should not sufficient reason in anyone's book to
 veto a commit, especially something that is as straightforward and
 obvious as I believe my work to be in this case. 

I think this is a good point.  We're in a development phase now, and
we shouldn't step on each others' feet.  But Matt has gone to some
trouble to ensure it can be turned off at will.  Come a release, it's
possible that the project manager might decide to chop it out again,
but I'm betting on it staying.

Another issue: sure, it's partially an optimization.  Sure, it
contains MD code.  But it also fixes bugs.  Should a policy of
structure now, optimize later mean we should reject bug fixes which
also perform better?  And will we, in the long term, be able to
eliminate MD code and still have good performance?  I think the issue
of i386 only is a non-issue.  It has to start somewhere, and it
doesn't break the other platforms.

 Unlike John, I am not the type of person who leaves hundreds of
 kilobytes of patches laying around my tree.  For me completed
 work is either committable, or it should be thrown away.

Without prejudice to John (I don't know how much uncommitted stuff he
has), I think that Matt's right here too.  Where practicable, smaller
increments are easier to handle.

 John's other objections - in regards to interference with future work,
 are completely unsubstantiated.  He has not explained any reasoning for
 his objections AT ALL other then to make vague, undirected comments
 about how it doesn't fit with his idea of the world.  He pointed me to
 a 10-page mini paper and I even after reading it I do not see how any
 of my work inteferes with anything he is doing.

Core has asked John to describe his objections.  Based on the current
flam^H^H^H^Hdiscussion, I'm sure people will agree that it's probably
better to discuss things in a smaller group first.  The results will,
of course, be made known.

Greg
--
See complete headers for address and phone numbers

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



SMPng manager's responsibilities (was: Patch for critical_enter()/critical_exit() interrupt assem)

2002-03-07 Thread Greg Lehey

On Thursday,  7 March 2002 at 13:19:05 -0800, Julian Elischer wrote:


 On Thu, 7 Mar 2002, David Greenman wrote:

 No, Core has just said that he doesn't because he can over-rule any change
 in the kernel. And there is no requirement for him to justify it.

That is definately *NOT* what core has said. Please go re-read our
 announcement of the SMPng tech lead appointment. We specifically indicate
 that the tech lead is obligated to provide justification for any decisions
 that he may make.

 So, where is it?

*sigh* It's not explicitly in the statement.  I mentioned this point
in core, and got the reply:

 Core recognizes John Baldwin's continued hard work on the SMPng
 project over the last 18 months.  John has been informally directing
 the SMPng project for some time and we would like to formalize the
 arrangement.  We are officially recognizing him as technical lead and
 he will be the final arbiter of technical issues relating to SMPng.

 I think we should say that he is responsible to core for his
 decisions.  That would deflate some of dillon's objections.

 That goes without saying.  Sigh.  I'm getting tired of putting that in
 every last damn thing we do.

This is not a differences of direction within core.  We had a long
discussion, and in the end it's a question of formulation.  As I
feared, this particular issue has been dragged up again.  The text
quoted above was version 5 of the draft.  The final statement
contained the additional text

  He has the authority to take those actions necessary to keep the
  SMPng effort on track, similar to the Security Officer's authority
  in the area of security.

If you look back to *that* charter, you'll see that the SO is also
responsible to core.

Greg
--
See complete headers for address and phone numbers

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: SMPng manager's responsibilities (was: Patch for critical_enter()/critical_exit() interrupt assem)

2002-03-07 Thread David Greenman

On Thursday,  7 March 2002 at 13:19:05 -0800, Julian Elischer wrote:


 On Thu, 7 Mar 2002, David Greenman wrote:

 No, Core has just said that he doesn't because he can over-rule any change
 in the kernel. And there is no requirement for him to justify it.

That is definately *NOT* what core has said. Please go re-read our
 announcement of the SMPng tech lead appointment. We specifically indicate
 that the tech lead is obligated to provide justification for any decisions
 that he may make.

 So, where is it?

*sigh* It's not explicitly in the statement.  I mentioned this point
in core, and got the reply:

   I think Julian is asking for John's justification, not our appointment
message.

-DG

David Greenman
Co-founder, The FreeBSD Project - http://www.freebsd.org
President, TeraSolutions, Inc. - http://www.terasolutions.com
President, Download Technologies, Inc. - http://www.downloadtech.com
Pave the road of life with opportunities.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: SMPng manager's responsibilities (was: Patch for critical_enter()/critical_exit() interrupt assem)

2002-03-07 Thread Greg Lehey

On Thursday,  7 March 2002 at 16:43:40 -0800, David Greenman wrote:
 On Thursday,  7 March 2002 at 13:19:05 -0800, Julian Elischer wrote:


 On Thu, 7 Mar 2002, David Greenman wrote:

 No, Core has just said that he doesn't because he can over-rule any change
 in the kernel. And there is no requirement for him to justify it.

That is definately *NOT* what core has said. Please go re-read our
 announcement of the SMPng tech lead appointment. We specifically indicate
 that the tech lead is obligated to provide justification for any decisions
 that he may make.

 So, where is it?

 *sigh* It's not explicitly in the statement.  I mentioned this point
 in core, and got the reply:

I think Julian is asking for John's justification, not our appointment
 message.

Ah, sorry.

Greg
--
See complete headers for address and phone numbers

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: grp.h fix is incomplete

2002-03-07 Thread Mike Barcroft

Garance A Drosihn [EMAIL PROTECTED] writes:
 At 9:25 PM +0300 3/7/02, Andrey A. Chernov wrote:
 grp.h fix is incomplete because 'u_int32_t' is not defined
 (but must be) for standalone grp.h. Please add some includes
 for u_int32_t definition too, probably sys/types.h

Perhaps subconsciously I was trying to keep making software include
sys/types.h before grp.h.  :)  I just committed a fix.

 As a minor side question, should we also have that defined as
 uint32_t instead of u_int32_t ?

Yes, usually.  I just grabbed the copy from sys/types.h, which
wasn't correct.  uint32_t is more correct, but requires pollution from
another header, so I used the __uint32_t variant.

Best regards,
Mike Barcroft

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: smbfs in -current?

2002-03-07 Thread Boris Popov

On Wed, 6 Mar 2002, Seth Hettich wrote:

 I have both:
 options SMBFS
 options NETSMB
 
 
 in my config.
 
 Perhaps someone could give a little explanation, and add it to NOTES?

Thanks for pointing to it. For some reason LINT from -stable have
this explanation and NOTES doesn't.

For now quote from LINT:

cut
# SMB/CIFS requester  
   
# NETSMB enables support for SMB protocol, it requires LIBMCHAIN and LIBICONV
# options.
# NETSMBCRYPTO enables support for encrypted passwords.
options NETSMB  #SMB/CIFS requester
options NETSMBCRYPTO#encrypted password support for SMB
cut

-- 
Boris Popov
http://rbp.euro.ru


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Matthew Dillon


:Perhaps that part of the update could be considered cosmetic, and
:thus be done as a separate update -- just so people can tell which
:lines are cosmetic changes and which ones are substantive.  That is
:more work for you, but it makes it easier on reviewers, and it is
:certainly consistent with what developers are asked to do on other
:updates they make.
:
:You'll still probably have a debate on the wonderfulness of that
:cosmetic change, but at least it makes it easier for the major
:changes to looked at and commented on separately.
:
:-- 
:Garance Alistair Drosehn=   [EMAIL PROTECTED]

Ugh.  I'd rather not.  It would take a while to unwind the tabbing
from the deferred interrupts.  i.e. I didn't just cleanup the syntax
in icu_vector.s, I also had to implement the same stuff I put
in apic_vector.s to support deferred interrupts. 

-Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message



Re: Patch for critical_enter()/critical_exit() interrupt assem

2002-03-07 Thread Jake Burkholder

Apparently, On Thu, Mar 07, 2002 at 07:04:49PM -0800,
Matthew Dillon said words to the effect of;

 :Yes.  What I would like and what I mentioned before is for this to be
 :hidden behind cpu_critical_enter/exit.  Specifically, cpu_critical_enter
 :would be a null macro for i386, which would turn critical_enter into
 :just an increment, as Matt wanted.  cpu_critical_exit would do all the
 :magic of unpending interrupts.  The reason for this is that I would
 :like to see critical_exit handled any pending preemptions for a thread.
 :We do not yet know exactly how this will work so I would like this to be
 :done in MI code to start with.  The code must not make assumptions that are
 :not valid on all platforms.  This is easiest if they use the same code.
 :This is not about duplication of code in several MD files.
 
 We can't, because the MI code makes some rather blatent assumptions
 in regards to cpu_critical_enter and exit.  Take the witness code,
 for example.  So we cannot safely null-out those macros.  In fact, 
 the MI code also makes some rather blatent assumptions in regards 
 to critical_enter() and exit which I have also had to clean up 
 (and which will need considerably more cleanup).

I agree that the use of cpu_critical_enter/exit could use cleaning up.
Can you give an example of where critical_enter is used improperly?
You mean in fork_exit?  Your changes to cpu_switch solve that problem
with critical_exit almost unchanged.  The savecrit stuff should really
just be made MD.  If cpu_critical_exit was changed to take the thread
as its argument as I suggested before this would be easy.

Specifically I think that all of the current uses of cpu_critical_enter
exit outside of critical_enter exit are bugs.  The use in ktr is bogus because
the increment of ktr_idx is done atomically.  I don't know why this was
there in the first place.  I think that witness is an example of where
we need a different specifically defined to be hard interrupt disable api.
This is why I suggested the intr_disable/intr_restore api, which should only
be used in MD code and in dire circumstances otherwise, of which this case
qualifies.  The code in ast is just structured wrong.  I think that before
the loop was in assembler outside of the routine itself, so that it didn't
make so many assumptions about interrupt disablement.  doreti which calls
it should look like this:

loop:
cli;
if (there is an ast we can handle)
goto ast;
iret;
ast:
sti;
call ast;
goto loop;

In which case ast doesn't need to loop or use critical sections at all.
All of the MD code I could find I think should use a different api for
hard interrupt disablement.  They are all very MD and need this specifically,
which cpu_critical_enter need not necessarily do.

With these changes I don't see why the critical_enter/exit functions can't
or shouldn't remain MI.

 
 These assumptions include, just as an example:  The witness code
 calling cpu_critical_enter()/exit without holding td_critnest count,
 and Peter's now withdrawn code which explicitly released the cpu
 critical section while holding a non-zero td_critnest count.  In
 otherwords, really aweful hacks.  So we can't just NULL out those
 inlines.
 
 Trying to keep critical_enter()/critical_exit() MI and
 cpu_critical_enter()/cpu_critical_exit() MD and separated doesn't
 make much sense to me, because frankly critical_enter() and
 critical_exit() are tiny little routines (and will remain tiny even
 after SWI and preemption is added) and I can't think of any reason
 to force higher complexity in the routines due to the separation.
 
 In short, critical_enter()/critical_exit() are TIGHTLY INTEGRATED
 with cpu_critical_enter/exit despite your attempt to make 
 critical_enter/exit MI.  What my patch does is accept as true the
 fact that the two sets of routines are, in fact, tightly integrated,
 and then implements them in a more sensible way (or, more to the
 point, allows each architecture to implement them in the proper
 manner as befits the architecture). 

I do not agree that having cpu_critical_enter separate in any way hinders
an architecture's ability to implement critical_enter properly.  The MI
code that calls it expects it to do certain things, one of them is to call
cpu_critical_enter and cpu_critical_exit exactly once for each non-nested
critical_enter exit pair.  Wether or not this actually disables interrupts
is up to the MD code.

 
 The API's are still MI, but the implementation is MD.
 
 :Bruce also had some comments which were shrugged off, I thought they
 :were important.  Specifically, please do not make unnecessary changes
 :to the assembler code.  Macros do not need to be defined before they
 :are used, I believe this was the justification for some of the reordering
 :in apic_vector.s which makes the patch